题目: 同一年同一个月份只有一条,但是一年有多个月 分析: a1对应的smonth里面的 1。年、月为列。
题目:
同一年同一个月份只有一条,但是一年有多个月
分析:
a1对应的smonth里面的 1。年、月为列。
正解:
1、用case when
select ayear,
sum(case when smonth=1 then samont else 0) as a1,
sum(case when smonth=2 then samont else 0) as a2,
sum(case when smonth=3 then samont else 0) as a3,
sum(case when smonth=4 then samont else 0) as a4
from sale
group by syear;
2、用if
select syear as syear,
sum(IF(smonth = '1', samount, 0)) as a1,
sum(IF(smonth = '2', samount, 0)) as a2,
sum(IF(smonth = '3', samount, 0)) as a3,
sum(IF(smonth = '4', samount, 0)) as a4
from sale
group by syear