DQL之聚合函数、分组查询、LIMIT子句

小鱼儿 2021-06-24 15:59 632阅读 0赞

聚合函数是用来做列的纵向运算

(1)、COUNT

  1. SELECT COUNT\* FROM emp

查询计算出emp表中所有列都不为NULL的记录行数;

  1. SELECT COUNTsal 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 :

  1. SELECT \* FROM emp LIMIT 0,5;

查询从第一行开始,一共查询5行记录

  1. SELECT \* FROM emp LIMIT 4,3

查询从第五行开始,一共查询3行记录

想查询第三页 每页有10条记录

SELECT * FROM emp LIMIT ((当期页-1)*每页的行记录),每页的行记录;

发表评论

表情:
评论列表 (有 0 条评论,632人围观)

还没有评论,来说两句吧...

相关阅读