首頁 > 資料庫 > mysql教程 > 如何使用 CASE 和聚合函數將 MySQL 中的行轉換為列?

如何使用 CASE 和聚合函數將 MySQL 中的行轉換為列?

Mary-Kate Olsen
發布: 2024-12-03 02:28:11
原創
754 人瀏覽過

How to Pivot Rows into Columns in MySQL Using CASE and Aggregate Functions?

如何在MySQL 中將行轉換為列

資料透視表是一種常見的資料轉換,用於將資料重新排列為更易於處理的格式閱讀並分析。在這種情況下,我們希望將包含多行的結果集轉換為一個表,其中每個不同類型值的欄位和每個唯一 ID 和電子郵件組合的行。

要在 MySQL 中實現此目的,我們可以使用以下查詢:

SELECT ID, 
 MAX(CASE Type WHEN 202 THEN Degignation END) AS `202`
 MAX(CASE Type WHEN 234 THEN Degignation END) AS `234`
 MAX(CASE Type WHEN 239 THEN Degignation END) AS `239`
 Email
FROM mytable
GROUP BY ID, Email
登入後複製

此查詢使用 CASE 語句根據每行的 Type 值有條件地設定 Degignation 值。然後,MAX() 聚合函數會傳回每組 ID 和電子郵件中每種類型的最大 Degignation 值。

注意: 將佔位符表名稱 (mytable) 替換為包含您的資料的實際表名稱。此外,您需要事先知道所有不同的 Type 值,因為 SQL 不允許在查詢執行期間動態新增列。

以上是如何使用 CASE 和聚合函數將 MySQL 中的行轉換為列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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