数据表
年份 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2001 2 2 22 2 12 21 12 212 212 33 323 32
2002 3 23 232 32 23 232 232 323 32 32 23 23
2003 23 2 33 33 33 33 33 22 22 22 22 22
。
结果:年份 月份 水量
2001 1 2
2002 2 3
2003 11 22。。
年份 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2001 2 2 22 2 12 21 12 212 212 33 323 32
2002 3 23 232 32 23 232 232 323 32 32 23 23
2003 23 2 33 33 33 33 33 22 22 22 22 22
。
结果:年份 月份 水量
2001 1 2
2002 2 3
2003 11 22。。
SELECT '1' AS '月份',1月 AS '水量' FROM tab
UNION ALL
SELECT '2' AS '月份',2月 AS '水量' FROM tab
......
SELECT '1' AS 月份,1月 AS 水量 FROM tab
UNION ALL
SELECT '2' AS 月份,2月 AS 水量 FROM tab
unpivot(
水量 for 月份 in (1月,2月,。,12月)
)
order by 年份;
max(case when 月份=1 then 值 else 0 end),
max(case when 月份=2 then 值 else 0 end),
max(case when 月份=3 then 值 else 0 end),
max(case when 月份=4 then 值 else 0 end),
max(case when 月份=5 then 值 else 0 end),
max(case when 月份=6 then 值 else 0 end),
max(case when 月份=7 then 值 else 0 end),
max(case when 月份=8 then 值 else 0 end),
max(case when 月份=9 then 值 else 0 end),
max(case when 月份=10 then 值 else 0 end),
max(case when 月份=11 then 值 else 0 end),
max(case when 月份=12 then 值 else 0 end)
from 表
group by 年份
UNION ALL
SELECT 年份,'2' AS "月份",2月 AS "水量" FROM table_name
UNION ALL
SELECT 年份,'3' AS "月份",3月 AS "水量" FROM table_name
UNION ALL
SELECT 年份,'4' AS "月份",4月 AS "水量" FROM table_name
UNION ALL
SELECT 年份,'5' AS "月份",5月 AS "水量" FROM table_name
UNION AL
SELECT 年份,'6' AS "月份",6月 AS "水量" FROM table_name
UNION ALL
SELECT 年份,'7' AS "月份",7月 AS "水量" FROM table_name
UNION ALL
SELECT 年份,'8' AS "月份",8月 AS "水量" FROM table_name
UNION ALL
SELECT 年份,'9' AS "月份",9月 AS "水量" FROM table_name
UNION ALL
SELECT 年份,'10' AS "月份",10月 AS "水量" FROM table_name
UNION ALL
SELECT 年份,'11' AS "月份",11月 AS "水量" FROM table_name
UNION ALL
SELECT 年份,'12' AS "月份",12月 AS "水量" FROM table_name;
其中把 年份 替换成相应的字段名;“1月,2月12月” 页替换成相应的字段名