oracle笔记(四)组函数
组函数
1、求和 sum()
2、count()求总数
3、avg()求平均值。
4、组函数会自动滤空,可以在组函数中嵌套滤空函数nvl(),可以在组函数中添加distinct关键字过滤掉重复记录。
5、group by关键字
? ? ?1)语法:select关键字后面的参数列表中未包含在组函数的列都应该包含在group by 中反之不一定。
? ? ?2)group by 如果有多列,先按照第一列分组,如果第一列相同,再按照第二列分组,以此类推。
? ? ?3)having 关键字是过滤分组。
? ? ?4)having和where的区别:当用where和having都可以解决问题时,尽量使用where,因为where效率比having高,但是有例外情况:如果条件中含有组函数,则只能使用having关键字。
6、组函数可以嵌套使用。
7、group by增强:group by rollup(a,b),SQLPLUS支持报表功能。
? ? ?1)select deptno,job,sum(sal) ?from group by rollup(deptno,job);
? ? ? 2)break on deptno skip 2报表设置,按照部门号分段,相同的部门号只显示一次,不同的部门号之间空两行。