rollup与cube

1.rollup会对每个分组进行合计,如:

 select 
           t.a13 as product,
           t.a17 as businessline,
           sum(t.par_bal) par_bal
 from rp_port t
 where substr(t.a13, 1, 1) in (1) and rownum<15
 group by rollup(t.a13,t.a17)

 结果:                   

productbusinesslineparbal
  320245274.4
1010101001 201800000
101010100111201800000
1010101008 97430.25
10101010081197430.25
1010102001 30000000
10101020011130000000
1010102002 75000000
10101020021175000000
1010102003 5096444.11
1010102003125096444.11
1020302000 8251400
1020302000418251400

 

 rollup(parm1,parm2...)中,以parm1的角度看分组统计,如:

 select 
           t.a13 as product,
           t.a17 as businessline,
           sum(t.par_bal) par_bal
 from rp_port t
 where substr(t.a13, 1, 1) in (1) and rownum<15
 group by rollup(t.a17,t.a13)

 结果: 

productbusinesslineparbal
  320245274.4
 11306897430.3
101010100111201800000
10101010081197430.25
10101020011130000000
10101020021175000000
 125096444.11
1010102003125096444.11
 418251400
1020302000418251400

 2.cube即展示出交叉表的效果,cube(parm1,parm2...)参数位置没有影响,如:

 select 
           t.a13 as product,
           t.a17 as businessline,
           sum(t.par_bal) par_bal
 from rp_port t
 where substr(t.a13, 1, 1) in (1) and rownum<15
 group by cube(t.a17,t.a13)

 结果:

 

productbusinesslineparbal
320245274.4
1010101001201800000
101010100897430.25
101010200130000000
101010200275000000
10101020035096444.11
10203020008251400
11306897430.3
101010100111201800000
10101010081197430.25
10101020011130000000
10101020021175000000
125096444.11
1010102003125096444.11
418251400
1020302000418251400

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值