0
点赞
收藏
分享

微信扫一扫

DQL——分组查询(GROUP BY)

笑望叔叔 2022-04-13 阅读 94
mysql

分组查询语法

注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义 
-- where和having区别:

  • 执行时机不一样: where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。
  • 可判断的条件不一 样: where 不能对聚合函数进行判断,having 可以。

-- 执行顺序: where >聚合函数> having

-- 1.查询男同学和女同学各自的数学平均分
select avg(math) from stu group by sex ;

-- 注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义 
select sex,avg(math) from stu group by sex ;

-- 2.查询男同学和女同学各自的数学平均分,以及各自人数
select sex,avg(math),count(*) from stu group by sex ;

-- 3.查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组
select sex,avg(math),count(*) from stu where math >70 group by sex ;

-- 4.查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组,分组之后人数大于2
select sex,avg(math),count(*) from stu where math >70 group by sex having count(*) > 2 ;
举报

相关推荐

0 条评论