Oracle函数之非常实用的统计查询
2015-10-28 21:21
411 查看
拿到一个统计分类,最后算合计的表格,查了GROUPING函数确实很好用。
GROUPING函数可以接受一列,返回0或者1。
如果列值为空,那么GROUPING()返回1;
如果列值非空,那么返回0。
GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。
SQL>
selectdecode(grouping(d.dname),1,'合计:',d.dname)
dname,
decode(grouping(e.job)+grouping(d.dname),1,'小计:',e.job)
job,sum(sal) sum_sal
from emp e,dept d
where e.deptno=d.deptno
groupbyrollup(d.dname,e.job);
![](file:///C:\Users\hhc\AppData\Roaming\feiq\RichOle\2618222548.bmp)
GROUPING函数可以接受一列,返回0或者1。
如果列值为空,那么GROUPING()返回1;
如果列值非空,那么返回0。
GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。
SQL>
selectdecode(grouping(d.dname),1,'合计:',d.dname)
dname,
decode(grouping(e.job)+grouping(d.dname),1,'小计:',e.job)
job,sum(sal) sum_sal
from emp e,dept d
where e.deptno=d.deptno
groupbyrollup(d.dname,e.job);
![](file:///C:\Users\hhc\AppData\Roaming\feiq\RichOle\2618222548.bmp)
![](file:///C:\Users\hhc\AppData\Roaming\feiq\RichOle\2618222548.bmp)
相关文章推荐
- Oracle Database 11.2下DG下参数delay与realtime apply特性冲突
- Oracle函数之Grouping/Grouping_id
- Oracle学习第三讲
- oracle通过impdp导入不同表用户、不同表空间的数据
- oracle习题SQL语句练习
- oracle 卡住不动
- oracle 卡住不动
- Oracle 表空间管理
- Oracle 大索引重组、大表重组
- Oracle系统参数调整实操--小记
- Oracle PL/SQL性能DBMS_PROFILE
- oracle的小结
- Oracle 12.1.0.1 GI+DATABASE打PSU
- centos7 安装 oracle 11G
- oracle alter kill和alter kill immediate会话的区别
- ORACLE备份恢复杂谈记录
- Oracle的翻页Sql语句
- SqlServer转Oracle时代码注意事项
- Oracle中设置自增id
- Oracle修改默认时间格式