select 列名 from 表名
group by 列名
使用having子句对分组后的结果进行过滤
select 列名 from 表名
group by 列名 having ···
例:显示每个部门平均合最高工资
selcet AVG(),MAX() 部门 from 表名
group by 部门;
按照部门来查询平均工资和最高工资
例:每种岗位平均和最低工资(部门deptno,岗位job)
select AVG(),MIN(),部门,岗位 from 表名
group by deptno,job
//先按照部门分组,再按照岗位分组
例:显示平均工资低于2000的部门号和它的平均工资
select AVG(),部门 from 表名
group by 部门号
having AVG() < 2000 // 平均工资小于2000
可以用别名进行过滤
本文介绍了SQL中如何使用GROUP BY和HAVING子句进行数据分组和过滤,展示如何查询各部门的平均工资和最高工资,以及按部门和岗位获取平均和最低工资。此外,还给出了一个示例,展示如何筛选平均工资低于2000的部门及其平均工资。
752

被折叠的 条评论
为什么被折叠?



