首頁 >資料庫 >mysql教程 >如何在 MySQL 中將高資料重塑為寬資料?

如何在 MySQL 中將高資料重塑為寬資料?

Linda Hamilton
Linda Hamilton原創
2024-12-20 19:38:13170瀏覽

How to Reshape Tall Data to Wide Data in MySQL?

重塑MySQL 中的資料:從高到寬

在資料庫中處理資料時,通常需要從長、高格式到更寬格式。這種轉換使您可以更輕鬆地以更緊湊、更有意義的方式分析和視覺化資料。

範例:

考慮一個包含長格式資料的表格:

| country | key | value |
|---|---|---|
| USA | President | Obama |
| USA | Currency | Dollar |
| China | President | Hu |
| China | Currency | Yuan |

在此格式中,每行代表一個國家/地區的單一屬性。要將這些資料轉換為寬格式,我們將建立一個新表,其中包含每個唯一鍵的列,並使用每個國家/地區的相應值填充它們:

| country | President | Currency |
|---|---|---|
| USA | Obama | Dollar |
| China | Hu | Yuan |

SQL 轉換:

MySQL 提供了使用交叉表或資料透視表重塑資料的能力。下面是一個範例查詢,它將產生所需的寬格式表:

SELECT country, 
       MAX( IF( key='President', value, NULL ) ) AS President,
       MAX( IF( key='Currency', value, NULL ) ) AS Currency
FROM table
GROUP BY country;

此查詢使用MAX() 聚合函數來尋找每個值的最大值(即與每個唯一鍵關聯的值)

步驟:

  1. 建立表:執行上面的SELECT 查詢以建立具有所需寬格式的新表.
  2. 填入值:查詢將自動填入基於聚合的值。

結論:

使用MySQL 中的交叉表或資料透視表,可以輕鬆地從長而高的資料中重塑資料格式為寬格式。這是數據分析和視覺化的一項有價值的技術,並且可以使用提供的程式碼在 MySQL 中輕鬆實現。

以上是如何在 MySQL 中將高資料重塑為寬資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn