表格如下:
销售员      型号  销售数量  日期
a          xx          5          2013-1-1
b         yy          6          2013-4-3
a        xx         8            2013-4-2需要得到一张表格,对每个月销售数量求和,并按照型号和销售员分类,如下销售员  型号   1月数量  2月数量   ... 12月数量
a          xx         5            0    类似如此,请问sql如何写,没弄明白,求助

解决方案 »

  1.   

    select seller,type,
    sum(case date_format(dt,'%m') when '01' then number else 0 end) as '01',
    sum(case date_format(dt,'%m') when '02' then number else 0 end) as '02',
    sum(case date_format(dt,'%m') when '03' then number else 0 end) as '03',
    sum(case date_format(dt,'%m') when '04' then number else 0 end) as '04',
    sum(case date_format(dt,'%m') when '05' then number else 0 end) as '05',
    sum(case date_format(dt,'%m') when '06' then number else 0 end) as '06',
    sum(case date_format(dt,'%m') when '07' then number else 0 end) as '07',
    sum(case date_format(dt,'%m') when '08' then number else 0 end) as '08',
    sum(case date_format(dt,'%m') when '09' then number else 0 end) as '09',
    sum(case date_format(dt,'%m') when '10' then number else 0 end) as '10',
    sum(case date_format(dt,'%m') when '11' then number else 0 end) as '11',
    sum(case date_format(dt,'%m') when '12' then number else 0 end) as '12'
    from test group by seller, type