sql pivot(行轉列) 和unpivot(列轉行)的用法
阿新 • • 發佈:2018-09-05
sql clas 數據 sele core unp null col style
1、PIVOT用法(行轉列)
select * from Table_Score as a pivot (sum(score) for a.name in ([語文],[數學],[外語],[文綜],[理綜])) as b
數據:
id name score 1 語文 100 2 數學 95 3 外語 100 4 文綜 250 5 理綜 300
結果:
id 語文 數學 外語 文綜 理綜 1 100 NULL NULL NULL NULL 2 NULL 95NULL NULL NULL 3 NULL NULL 100 NULL NULL 4 NULL NULL NULL 250 NULL 5 NULL NULL NULL NULL 300
2、UNPIVOT用法(列轉行)
select orders,weekend from (select week1,week2,week3,week4,week5 from [dbo].[Table_Week]) a unpivot(orders for weekend in (week1,week2,week3,week4,week5)) asb
數據:
week1 week2 week3 week4 week5 11 22 33 44 55 22 33 44 55 66 33 44 55 66 77 44 55 66 77 88
結果:
orders weekend 11 week1 22 week2 33 week3 44 week4 55 week5 22 week1 33 week2 44 week3 55 week4 66 week533 week1 44 week2 55 week3 66 week4 77 week5 44 week1 55 week2 66 week3 77 week4 88 week5
sql pivot(行轉列) 和unpivot(列轉行)的用法