Oracle分组函数之高效的ROLLUP(六)
110 0 1 20300
1 1 691400
33 rows selected www.2cto.com
看出来什么效果了么?
如果显示“1”表示GROUPING函数对应的列(例如JOB_TITLE字段)是由于ROLLUP函数所产生的空值对应的信息
即对此列进行汇总计算后的结果
如果显示“0”表示此行对应的这列参未与ROLLUP函数分组汇总活动
GROUPING函数可以接受一列,返回0或者1
如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0
GROUPING只能在使用ROLLUP或CUBE的查询中使用
当需要在返回空值的地方显示某个值时,GROUPING()就非常有用
㈧ 小结
ROLLUP在数据统计和报表生成过程中带来极大的便利,而且效率比起来Group By + Union组合方法效率高得多
这也体现了Oracle在SQL统计分析上人性化、自动化、高效率的特点.