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)*每页的行记录),每页的行记录;

猜你喜欢

转载自blog.csdn.net/Gray_humor/article/details/81184783
今日推荐