简单sql语句 行转列问题 SQL查询行转列
假设有销量表tb_sales
数据如下:
年份 月份 销量
1991 1 12
1991 2 13
1991 3 15
1991 4 72
1992 1 42
1992 2 23
1992 3 85
1992 4 172
要显示的效果
年份 1月 2月 3月 4月
1991 12 13 15 72
1992 42 23 85 172
sql语句如下(MySQL,SQLServer)
Y 年份,M月份,S销量
select Y as 年份,sum(case M when 1 then S end) 1月,sum(case M when 2 then S end) 2月,sum(case M when 3 then S end) 3月,sum(case M when 4 then S end) 4月from tb_sales group by Y