分组查询:

  语法:group by分组字段;

  注意:分组之后查询的字段:分组字段、聚合函数

  where和having 的区别?

    where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来

    where后不可以跟聚含函数,having何可以进行聚合函数的判断。

SQL语句:

-- 按照性别分组,分别查询男,女同学的平均分
SELECT sex,AVG(math) FROM student GROUP BY sex;
-- 按照性别分组。分别查询男、女同学的平均分,人数
SELECT sex,AVG(math),COUNT(id) FROM student GROUP BY sex;
-- 按照性别分组。分别查询男、女同学的平均分,人数要求:分数低于70分的人,不参与分组
SELECT sex,AVG(math),COUNT(id) FROM student WHERE math>70 GROUP BY sex;
-- 按照性别分组。分别查询男、女同学的平均分,人数要求:分数低于70分的人,不参与分组,分组之后。人数要大于2个人
SELECT sex,AVG(math),COUNT(id) FROM student WHERE math>70 GROUP BY sex HAVING COUNT(id) > 2;
-- 别名
SELECT sex,AVG(math),COUNT(id) 人数 FROM student WHERE math>70 GROUP BY sex HAVING 人数 > 2;

 

 

 

 

 

 

 

 

 

DQL分页查询

  语法:limit开始的索引,每页查询的条数;

  公式:开始的索引 =(当前的页码-1)* 每页显示的条数

  每页显示三条数据

  limet 是一个mysql的一个方言

 

Mysql:

  

SELECT * FROM student    LIMIT 0,3;

SELECT * FROM student    LIMIT 3,3;

SELECT * FROM student    LIMIT 6,3;

 

 

posted on 2022-07-24 10:13  淤泥不染  阅读(25)  评论(0编辑  收藏  举报