DQL之聚合函数、分组查询、LIMIT子句
聚合函数是用来做列的纵向运算
(1)、COUNT
SELECT COUNT(\*) FROM emp;
查询计算出emp表中所有列都不为NULL的记录行数;
SELECT COUNT(sal) FROM emp;
查询记录emp表中comm列中不为NULL的记录的行数;
(2)、MAX
SELECT MAX(sal)FROM emp;
查询emp表中的最高工资;
(3)、MIN
SELECT MIN(sal) FROM emp;
查询emp表中的最低工资
(4)、SUM
SELECT SUM(sal) FROM emp;
查询emp表中的工资总数
(5)、AVG
SELECT AVG(sal) FROM emp;
查询emp中的平均工资
SELECT COUNT(*) 人数,SUM(sal) 总和,MAX (sal)最大,MIN(sal) 最低,AVG(sal) 平均 FROM emp;
查询显示出COUNT,SUM,MAX,MIN,AVG 并赋予别名
DQL之分组查询
SELECT 当前的分列组或者聚合函数 FROM 表名 GROUP BY 分列组 [HAVING 条件];
(1)、分组查询是把记录使用某一列进行分组,然后查询组信息
eg:
SELECT deptno,COUNT(*) FROM emp GROUP BY deptno;
使用deptno进行分组,查询部门编号 和每个部门的记录数
SELECT job,MAX(sal)FROM emp GROUP BY job;
使用job进行分组,查询每个工作的最高工资
SELECT deptno,COUNT(*) FROM emp GROUP BY deptno HAVEING COUNT(*) > 3;
以部门进行分组,查询显示出 每组记录数大于3
,
SELECT deptno,COUNT(*) FROM emp WHERE sal > 15000 GROUP BY deptno HAVEING COUNT(*) > =2;
所有工资低于15000的每个部门的员工人数,其中大于2人的显示出来
关键词的执行顺序
SELECT, FROM ,WHERE ,GROUP BY ,HAVEING ,ORDER BY
DQL之LIMIT子句
LIMIT子句是mysql特有的
LIMIT 是用来限定查询结果的起始行,以及总行数
eg :
SELECT \* FROM emp LIMIT 0,5;
查询从第一行开始,一共查询5行记录
SELECT \* FROM emp LIMIT 4,3;
查询从第五行开始,一共查询3行记录
想查询第三页 每页有10条记录
SELECT * FROM emp LIMIT ((当期页-1)*每页的行记录),每页的行记录;
还没有评论,来说两句吧...