色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql數據橫表變成豎表

錢浩然1年前9瀏覽0評論

在MySQL數據庫中,我們經常會遇到需要對數據進行橫表和豎表的轉換操作。例如,某張表存儲了某品牌的銷售數據,橫表形式如下:

年份 | 月份 | 品牌 | 銷售額 |
| 2019 |  1   |  A   | 10000 |
| 2019 |  1   |  B   | 20000 |
| 2019 |  2   |  A   | 15000 |
| 2019 |  2   |  B   | 25000

上述表格中,年份、月份和品牌是該表的三個維度,而銷售額是度量值,可以進行聚合操作。如需將上述表格轉換為豎表形式,則應該將品牌列轉換為行記錄:

年份 | 月份 | 品牌A銷售額 | 品牌B銷售額 |
| 2019 |  1   |    10000     |    20000     |
| 2019 |  2   |    15000     |    25000

上述表格中,品牌A銷售額和品牌B銷售額分別為品牌A和品牌B在各個時間維度上的銷售額。以下是如何使用MySQL語句進行橫表轉豎表的操作。

SELECT
年份,
月份,
SUM(CASE WHEN 品牌 = 'A' THEN 銷售額 ELSE 0 END) AS '品牌A銷售額',
SUM(CASE WHEN 品牌 = 'B' THEN 銷售額 ELSE 0 END) AS '品牌B銷售額'
FROM
表名
GROUP BY
年份,
月份

以上SQL語句中,GROUP BY子句按照年份和月份進行分組。在SELECT子句中,使用CASE WHEN語句判斷品牌列的值,如果是品牌A,則將該行的銷售額值計入品牌A銷售額列,否則將其計入品牌B銷售額列。最終得到的結果即為豎表形式的銷售數據。