日期:2014-05-16  浏览次数:20344 次

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报表设置,按照部门号分段,相同的部门号只显示一次,不同的部门号之间空两行。