select sum(case b.mm when '01' then b.weight else 0 end) as 一月, sum(case b.mm when '02' then b.weight else 0 end) as 二月, sum(case b.mm when '03' then b.weight else 0 end) as 三月, sum(case b.mm when '04' then b.weight else 0 end) as 四月, sum(case b.mm when '05' then b.weight else 0 end) as 五月, sum(case b.mm when '06' then b.weight else 0 end) as 六月, sum(case b.mm when '07' then b.weight else 0 end) as 七月, sum(case b.mm when '08' then b.weight else 0 end) as 八月, sum(case b.mm when '09' then b.weight else 0 end) as 九月, sum(case b.mm when '10' then b.weight else 0 end) as 十月, sum(case b.mm when '11' then b.weight else 0 end) as 十一月, sum(case b.mm when '12' then b.weight else 0 end) as 十二月 from ( select to_char(a.createdate,'mm') as mm,sum(a.weight) as weight from es_contractline a where to_char(a.createdate,'YYYY')='2010' group by to_char(a.createdate,'mm') )b