关于分类汇总的使用

假设有一表ecv_saledetail其数据如下:

spbm             xsrq             zxssze  

0101002200 2010-01-01 2.00000
0101002200 2010-01-01 2.00000
0101002200 2010-01-01 2.00000
0101002200 2010-01-09 2.00000
0101002200 2010-01-09 2.00000
0101002200 2010-01-09 2.00000
0101002200 2010-01-09 2.00000
0101002200 2010-01-09 2.00000
0101002200 2010-01-09 2.00000
0101002200 2010-01-09 4.00000

 

1、分组(按商品编码,销售日期)汇总无合计

select spbm,xsrq,sum(zxssze)
from ecv_saledetail where xsrq>='2010-01-01' and xsrq<='2010-01-10'
and spbm in ('0101002200','0101002300')
group by spbm,xsrq

结果如下:

spbm             xsrq             zxssze  

0101002200 2010-01-01 10.00000
0101002300 2010-01-01 6.00000
0101002200 2010-01-02 2.00000
0101002300 2010-01-02 26.00000
0101002300 2010-01-03 8.00000
0101002200 2010-01-04 6.00000
0101002300 2010-01-04 8.00000
0101002300 2010-01-05 10.00000
0101002200 2010-01-06 4.00000
0101002300 2010-01-06 16.00000
0101002300 2010-01-07 4.00000
0101002200 2010-01-08 2.00000
0101002300 2010-01-08 16.00000
0101002200 2010-01-09 16.00000
0101002300 2010-01-09 8.00000
0101002200 2010-01-10 2.00000
0101002300 2010-01-10 2.00000

 

2、分组(按商品编码,销售日期)汇总及合计

select spbm,xsrq,sum(zxssze)
from ecv_saledetail where xsrq>='2010-01-01' and xsrq<='2010-01-10'
and spbm in ('0101002200','0101002300')
group by spbm,xsrq
with ROLLUP

结果如下:

0101002200 2010-01-01 10.00000
0101002200 2010-01-02 2.00000
0101002200 2010-01-04 6.00000
0101002200 2010-01-06 4.00000
0101002200 2010-01-08 2.00000
0101002200 2010-01-09 16.00000
0101002200 2010-01-10 2.00000
0101002200 NULL 42.00000 --小组合计
0101002300 2010-01-01 6.00000
0101002300 2010-01-02 26.00000
0101002300 2010-01-03 8.00000
0101002300 2010-01-04 8.00000
0101002300 2010-01-05 10.00000
0101002300 2010-01-06 16.00000
0101002300 2010-01-07 4.00000
0101002300 2010-01-08 16.00000
0101002300 2010-01-09 8.00000
0101002300 2010-01-10 2.00000
0101002300 NULL 104.00000 --小组合计
NULL NULL 146.00000            --总计

 

 

3、分别按商品编码,销售日期小组汇总,合计汇总


select spbm,xsrq,sum(zxssze)
from ecv_saledetail where xsrq>='2010-01-01' and xsrq<='2010-01-10'
and spbm in ('0101002200','0101002300')
group by spbm,xsrq
with cube

结果如下:

0101002200 2010-01-01 10.00000
0101002200 2010-01-02 2.00000
0101002200 2010-01-04 6.00000
0101002200 2010-01-06 4.00000
0101002200 2010-01-08 2.00000
0101002200 2010-01-09 16.00000
0101002200 2010-01-10 2.00000
0101002200 NULL 42.00000 --按商品编码小组汇总
0101002300 2010-01-01 6.00000
0101002300 2010-01-02 26.00000
0101002300 2010-01-03 8.00000
0101002300 2010-01-04 8.00000
0101002300 2010-01-05 10.00000
0101002300 2010-01-06 16.00000
0101002300 2010-01-07 4.00000
0101002300 2010-01-08 16.00000
0101002300 2010-01-09 8.00000
0101002300 2010-01-10 2.00000
0101002300 NULL 104.00000 --按商品编码小组汇总
NULL NULL 146.00000            --组合计
NULL 2010-01-01 16.00000    --按销售日期小组汇总
NULL 2010-01-02 28.00000    --按销售日期小组汇总
NULL 2010-01-03 8.00000
NULL 2010-01-04 14.00000
NULL 2010-01-05 10.00000
NULL 2010-01-06 20.00000
NULL 2010-01-07 4.00000
NULL 2010-01-08 18.00000
NULL 2010-01-09 24.00000
NULL 2010-01-10 4.00000

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值