中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

sql pivot多行轉多列怎么實現

sql
小億
213
2024-01-23 14:55:57
欄目: 云計算

在SQL中,可以使用CASE WHEN語句結合聚合函數來實現對多行數據進行轉置,將其轉換為多列數據。具體步驟如下:

  1. 使用GROUP BY來按照需要轉置的列進行分組。
  2. 使用CASE WHEN語句將每個需要轉置的值轉換為對應的列。
  3. 使用聚合函數對轉置后的列進行聚合操作。

以下是一個示例,假設有一個訂單表Orders,其中包含訂單號(OrderID)、商品名稱(ProductName)和銷售數量(Quantity):

SELECT OrderID,
       MAX(CASE WHEN ProductName = 'Product A' THEN Quantity END) AS ProductA,
       MAX(CASE WHEN ProductName = 'Product B' THEN Quantity END) AS ProductB,
       MAX(CASE WHEN ProductName = 'Product C' THEN Quantity END) AS ProductC
FROM Orders
GROUP BY OrderID;

上述查詢將會將每個訂單的商品數量轉換為對應的列,輸出結果類似于以下表格:

OrderID | ProductA | ProductB | ProductC
--------+----------+----------+---------
1       | 5        | 2        | NULL
2       | 3        | NULL     | 1
3       | NULL     | 4        | 3

在上述示例中,使用CASE WHEN語句將商品名稱轉換為對應的列,并使用MAX函數聚合每個列的值。如果某個訂單沒有對應的商品,那么對應的列會顯示NULL值。

0
新巴尔虎右旗| 攀枝花市| 香格里拉县| 托里县| 闵行区| 罗江县| 威远县| 当涂县| 刚察县| 保康县| 昌宁县| 容城县| 桑植县| 云阳县| 花莲市| 扎兰屯市| 汨罗市| 阿坝| 兰州市| 南城县| 海门市| 德安县| 绍兴县| 诸暨市| 东乌珠穆沁旗| 淳安县| 邢台市| 广平县| 拉萨市| 屏南县| 邯郸市| 赫章县| 赣榆县| 云阳县| 翼城县| 梁平县| 朔州市| 通许县| 班玛县| 翁牛特旗| 广水市|