1
,我有以下數據集:列總計行和調換(SQL服務器)
Account|Can|Fra|scl|
1012 0 10 1
1011 5 10 0
我怎樣才能通過每一列的總一行首先:
Account|Can|Fra|scl|
1012 0 10 1
1011 5 10 0
Total 5 20 1
,然後轉置它看起來像這樣:
Can 5
Fra 20
Scl 1
,我有以下數據集:列總計行和調換(SQL服務器)
Account|Can|Fra|scl|
1012 0 10 1
1011 5 10 0
我怎樣才能通過每一列的總一行首先:
Account|Can|Fra|scl|
1012 0 10 1
1011 5 10 0
Total 5 20 1
,然後轉置它看起來像這樣:
Can 5
Fra 20
Scl 1
此查詢應該會對您有所幫助。這將避免不必要的中間步驟。您可以直接得到最終結果下面的查詢
SELECT 'CAN' AS COUNTRY, SUM(CAN) AS COUNTVAL FROM MY_TABLE
UNION ALL
SELECT 'FRA' AS COUNTRY, SUM(FRA) AS COUNTVAL FROM MY_TABLE
UNION ALL
SELECT 'SCL' AS COUNTRY, SUM(SCL) AS COUNTVAL FROM MY_TABLE
如果你想獲得總每一列的,那麼你可以使用:
SELECT ACCOUNT, CAN, FRA,SCL FROM MY_TABLE
UNION ALL
SELECT 'TOTAL' AS ACCOUNT, SUM(CAN) AS CAN, SUM(FRA) AS FRA, SUM(SCL) AS SCL
FROM MY_TABLE