首頁 > 資料庫 > mysql教程 > 如何使用 PIVOT(隱式)在 DB2 中將行轉置為列?

如何使用 PIVOT(隱式)在 DB2 中將行轉置為列?

Mary-Kate Olsen
發布: 2024-12-30 13:27:16
原創
621 人瀏覽過

How to Transpose Rows into Columns in DB2 Using PIVOT (Implicit)?

在 DB2 中透過透視轉置資料結構

該任務需要將 DB2表中的行轉置為列,將資料從以下結構轉換:

ItemID    Item    Value
---------------------
1     Meeting     Now
1     Advise      Yes
1     NoAdvise    No
2     Meeting     Never
2     Advise      No
2     NoAdvise    Null
2     Combine    Yes
登入後複製

進入想要的結構:

ItemID    Meeting  Advise   NoAdvise 
---------------------------------------
1         Now      Yes       No
2         Never    No        Null
登入後複製

要實現此轉換,您可以使用採用PIVOT運算符的SQL 查詢,該查詢可以根據指定的分類欄位將行轉置為列。以下是一個可以在DB2 LUW 中使用的查詢範例:

SELECT 
  A.ItemID,
  MAX(CASE WHEN A.Item = 'Meeting'  THEN Value END) AS Meeting,
  MAX(CASE WHEN A.Item = 'Advise'   THEN Value END) AS Advise,
  MAX(CASE WHEN A.Item = 'NoAdvise' THEN Value END) AS NoAdvise
FROM A
GROUP BY A.ItemID
登入後複製

在此查詢中,沒有明確使用PIVOT 運算符,而是透過在MAX 內使用CASE 語句來隱式實作()聚合函數。 CASE 語句充當對行進行分類並傳回每個類別的最大值的方法。然後,MAX() 聚合函數確保傳回每個類別的最大值。

請注意,根據要求,「Combine」列不包含在轉置結果中。產生的數據將根據需要轉置到列中。

以上是如何使用 PIVOT(隱式)在 DB2 中將行轉置為列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板