1012.oracle中聚合函数和group by
聚合函数:count、sum、avg、max、min,这些函数和其它函数的根本区别就是它们一般作用在多条记录上。
分组:group by,通过使用GROUP BY 子句,可以让SUM 和 COUNT 这些函数对属于一组的数据起作用。
HAVING子句可以让我们进一步筛选成组后的各组数据,having 字句是在分组后进行筛选的条件。所以只能作用在聚合函数 或者 分组列上面
WHERE子句在聚合前先筛选记录,也就是说作用在GROUP BY 子句和HAVING子句前,而 HAVING子句在聚合后对组记录进行筛选。
分组查询出现后,select查询列必须为分组的列,或者聚合函数。
当你指定 GROUP BY region 时, 属于同一个region(地区)的一组数据将只能返回一行值。
也就是说,表中所有除region(地区)外的字段,只能通过 SUM, COUNT等聚合函数运算后返回一个值。
1.排序,分组
根据部门分组,求总的工资
去重复:
sal列不是group by 要分组的列(deptno),而select 。。。from里面又没有聚合函数,所以错误。
group by 是统计用的。(聚合函数)分组是用来处理数值的,不处理字符。