关于分类汇总的使用

来源:互联网 发布:刷淘宝流量 编辑:程序博客网 时间:2024/05/16 19:06

假设有一表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

原创粉丝点击