首頁 > 資料庫 > mysql教程 > 如何使用 GROUP BY 在 DB2 中將行轉換為列?

如何使用 GROUP BY 在 DB2 中將行轉換為列?

Mary-Kate Olsen
發布: 2025-01-05 10:32:41
原創
753 人瀏覽過

How to Pivot Rows into Columns in DB2 Using GROUP BY?

在 DB2 中進行透視

這個問題圍繞 DB2 表中的行轉置為列。提供的資料由 ItemID、Item 和 Value 欄位構成。目標是將這些資料轉換為轉置格式,其中 Meeting、Advise 和 NoAdvise 的值排列為列,而 ItemID 用作行標識符。

執行此透視的一種方法是使用 GROUP BY 子句和多個 MAX() 表達式。透過使用 MAX() 並在 CASE 語句中指定每個項目類型的條件,可以檢索對應的值。例如:

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

此查詢產生所需的轉置格式,其中 ItemID 用作主鍵,Meeting、Advise 和 NoAdvise 成為列標題。 GROUP BY 子句確保資料以 ItemID 分組,為每個項目提供不同的行。

或者,可以透過使用多個相關子查詢來實現相同的結果,如本論壇中目前接受的答案所建議的那樣。然而,值得注意的是,與更高效的 GROUP BY 解決方案相比,子查詢方法可能會遇到效能問題,尤其是對於較大的資料集。

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

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