SQL高级用法(1)

SQL> select * from c
  2  /

        ID HY       SHF           SHL
---------- -------- ------ ----------
         1 部隊     北京           30
         2 建築     北京           50
         3 部隊     湖北          100
         4 建築     湖北          130
         5 建築     上海           60

SQL>
SQL> select nvl(shf,'合計') "****",sum(部隊) 部隊,sum(建築)  建築,sum(sumshl) 合計
  2  from
  3  (
  4  select shf,
  5         max(decode(hy, '建築', shl, 0)) 建築,
  6         max(decode(hy, '部隊', shl, 0)) 部隊,
  7         sumShl
  8    from (select a.id,
  9                 a.hy,
10                 a.shf,
11                 a.shl,
12                 sum(shl) over(partition by shf) sumShl
13            from c a)
14   group by shf, sumShl
15   )
16   group by rollup(shf)
17  /

****         部隊       建築       合計
------ ---------- ---------- ----------
上海            0         60         60
北京           30         50         80
湖北          100        130        230
合計          130        240        370

SQL>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值