这几天都有测试的任务,没有办法去更新很多新的知识啦~
抽空学习一下分组吧~
group by
- 按指定字段进行分组展示。
- 除聚集计算语句外,
select
语句中的每一列必须在group by
子句中给出。
分组后的过滤-having
与where
的区别
-
where
过滤行,having
过滤分组,且不能用别名; -
where
在数据分组前进行过滤,having
在数据分组后进行过滤; - 使用
having
时要结合group by
,where
子句用于标准的行级过滤。
举例
列出各年龄对应的人数,要求列出的年龄大于等于18,且人数大于10,并按照人数、年龄升序排列。
select age,count(*) as num
from list
where age>=18
group by age
having count(*)>10
order by num,age;
自我记录,有错误欢迎指正~