oracle分组查询
分组函数
在分组函数中,如果有一个查找项分组,其他项必须也分组,比如下面的语句会报错,因为sal分组了,而ename没有分组:
1.显示工资最高的员工:
2.显示所有员工的平均工资:
2.1使用系统函数:
2.2自定义计算:
3.显示工资高于平均工资的员工信息:
对查询结果进行分组统计:
4.查询每个部门的最高工资和平均工资:
5.显示每个部门的每种岗位的平均工资与最高工资:
6.显示平均工资低于2000的部门号和它的平均工资:
对数据分组的总结
1 分组函数只能出现在选择列表、having、order by子句中(不能出现在where中)
2 如果在select语句中同时包含有group by, having, order by 那么它们的顺序是group by, having, order by
3 在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须有一个出现在group by 子句中,否则就会出错。
如SELECT deptno, AVG(sal), MAX(sal) FROM emp GROUP by deptno HAVING AVG(sal) < 2000;
这里deptno就一定要出现在group by 中
版权声明:本文为博主原创文章,未经博主允许不得转载。
蓝天为路,阳光满屋。