Oracle学习笔记——基础一起学 17

--group by grouping sets的使用

/*可以用group by grouping sets来进行分组自定义汇总,可以用它来指定你需要的总数组合

其格式为  group by grouping sets ((list),(list)...) 这里的(list) 是圆括号中的一个列序列,

这个组合生成一个总数。要增加一个总和,必须增加一个(null)分组集。

 

*/

--查询scott.emp表,如果要查询:各部门sal大于2000的员工,进行汇总,得到各部门的sal总和、以及总共的sal总和。

select * from emp;

select case

when a.deptno is null then

'合计'

when a.deptno is not null and a.empno is null then

  '小计'

else

  ''||a.deptno

   end deptno,a.empno, a.ename,sum(a.sal) total_sal

  from scott.emp a where a.sal > 2000 group by grouping sets((a.deptno),(a.deptno,a.empno,a.ename),());

  --(大于2000分成deptno部门汇总)

如果能帮到你请感谢我的老婆“一行琉璃”

今天累了,改天详细讲讲

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值