--案例:查询每个部门的平均工资select deptno,round(avg(sal) ,2) as deptavgsal
from emp
groupby deptno;--案例:查询每个部门的平均工资,大于2000的select deptno,round(avg(sal) ,2) as deptavgsal
from emp
groupby deptno
having round(avg(sal) ,2) >2000;----having 和 where的区别:where后面不能跟聚合函数
select语句执行顺序从先到后:
from > where > groupby> having > select > orderby。
--为统计的结果count(*)取一个别名total,因为执行顺序的原因,即total这个别名只能在order by 上使用.--分组统计每个部门员工工资大于2000,并按照升序的方式显示每组人数大于1的结果select deptno,count(*)total
from emp where sal>2000groupby deptno
havingcount(*)>1orderby total asc;
Oracle分组查询select 组信息 from 表名 [where条件] group by 分组字段 [having分组条件] [order by 排序字段 asc|desc];常用的聚合函数:count(字段名|*):求总的记录数;sum(字段名):求和;avg(字段名) :求平均值;max(字段名):求最大值;min(字段名):求最小值;--案例...