Oracle函数之Grouping/Grouping_id

Grouping 函数:

可以接受一列,返回0或1。如果列值为空,则返回1,非空则返回0。它只能在rollup和或cube函数中使用,因为在统计中显示“全部”的那一项统计值时,那一项的标签通常是空的,这时grouping就非常有用,还可以在grouping的基础上进行decode, case等进行美化。

SQL>select grouping(a.mgr) mgr, grouping(a.comm) comm,min(a.empno) empno, min(a.deptno) deptno, count(*)
          from NEW_TEST a group by rollup(mgr, comm ) order by 1, 2


Grouping_id 函数:
比grouping还强点,可以接收多个列,这几个列都不为空时,返回0,只要有一个为空,则返回1,如果都为空,则返回3。

SQL>select grouping_id(a.mgr,a.comm) mgr, min(a.empno) empno, min(a.deptno) deptno, count(*)
          from NEW_TEST a group by rollup(mgr, comm ) order by 1, 2




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值