ORACLE GROUPING函数的使用

  • Post author:
  • Post category:其他


GROUPING函数可以接受一列,返回0或者1。如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0。GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。

关于ROLLUP和CUBE函数的使用,请参见我的另一篇文章。


http://blog.csdn.net/wh62592855/archive/2009/11/16/4817920.aspx


1、在ROLLUP中对单列使用GROUPING()

SQL> select division_id,sum(salary)

2  from employees2

3  group by rollup(division_id)

4  order by division_id;

DIV SUM(SALARY)

— ———–

BUS     1610000

OPE     1320000

SAL     4936000

SUP     1015000

8881000

加上GROUPING来看看

SQL> select grouping(division_id),division_id,sum(salary)

2  from employees2

3  group by rollup(division_id)

4  order by division_id;

GROUPING(DIVISION_ID) DIV SUM(SALARY)

——————— — ———-



版权声明:本文为wh62592855原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。