[英]Pivoting table sql
我有這張桌子:
|............id.............|............a............. |.............b............|
|...........123qwe.... |...........0............. |.............13...........|
我需要像這樣樞紐一下:
|.........id................|........indicator.... |.............value........ |
|...........123qwe.... |...........a............. |.............0.............|
|...........123qwe.... |...........b............. |.............13........... |
超過100列帶有指示符的標頭(a,b,c,d,e,f,...),因此將需要某種循環。
SELECT id, 'a', SUM(a)
FROM yourtable
GROUP BY id
UNION
SELECT id, 'b', SUM(b)
FROM yourtable
GROUP BY id
UNION
...
像往常一樣, 正確的答案是規范您的架構。
像這樣做:
SELECT id, 'a' AS indicator, a AS value
FROM test
UNION
SELECT id, 'b' AS indicator, b AS value
FROM test;
如果要循環,最好將其編寫在程序中...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.