常用的分组函数有
count
max
min
avg(nvl)xxx,0)) 求平均值要写成这样,否则会忽略null字段
sum
stddev 标准差
variance 方差
平均工资大于2000的部门
select d.deptno,max(d.dname),avg(nvl(e.sal,0)) from emp e,dept d where e.deptno=d.deptno group by d.deptno having avg(nvl(e.sal,0))>2000;
注意:被选者column只能分组column(deptno)或者是主函数,如果分组column和其他column具有一对一的关系时,可用max()或min()主函数
骗过系统得以显示。having后面必须是组函数。
部门最低的平均工资
select min(avg(nvl(sal,0))) from emp group by deptno;
注意:如果组函数超过两重,就不可以有其他column被选择啦。
各部门各工种的平均工资
select max(d.dname),e.job,avg(nvl(e.sal,0)) from emp e,dept d where e.deptno=d.deptno group by e.job,d.deptno order by d.deptno;
注意经过连接和where条件过滤后,相当于对一张新表进行分组操作,分组的标准是部门和工种。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20844861/viewspace-594625/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20844861/viewspace-594625/