GROUP BY
例子1:有一张员工信息表 info 结构如下
id name dept salary edlevel hiredate
1 张三 开发部 2000 3 2009-10-11
2 李四 开发部 2500 3 2009-10-01
3 王五 设计部 2600 5 2010-10-02
4 王六 设计部 2300 4 2010-10-03
5 马七 设计部 2100 4 2010-10-06
6 赵八 销售部 3000 5 2010-10-05
7 钱九 销售部 3100 7 2010-10-07
8 孙十 销售部 8500 7 2010-10-06
要求1:统计每个部门的最高薪资
select dept,MAX(salary) as max from info GROUP BY dept;
要求2:在要求1的基础上。仅显示最高薪资大于5000的部门
select dept,MAX(salary) from info GROUP BY dept HAVING MAX(salary) > 5000;
HAVING
- HAVING 只能跟select用
- 通常与GROUP BY 合用
-
单独使用时 与 where 效果一样
image.png
网友评论