首頁 >資料庫 >mysql教程 >如何在 MySQL 中有效地將資料從長格式重塑為寬格式?

如何在 MySQL 中有效地將資料從長格式重塑為寬格式?

DDD
DDD原創
2024-12-29 01:40:10557瀏覽

How to Efficiently Reshape Data from Long to Wide Format in MySQL?

在MySQL 中將資料從長格式重塑為寬格式

簡介:

將資料從長格式重塑處理資料時,必須採用寬格式。 MySQL 提供的功能可讓您在不依賴外部腳本語言的情況下執行此操作。

建立寬格式表:

  1. 第一步是取得長格式中存在的所有不同鍵的清單tab le:

    SELECT DISTINCT key FROM table;
  2. 使用獲得的鍵創建具有所需寬格式結構的新表:

    CREATE TABLE wide_table (
        country VARCHAR(255),
        key1 VARCHAR(255),
        key2 VARCHAR(255),
        ...,
        keyN VARCHAR(255)
    );

填入表格值:

  1. 最後,使用交叉表查詢將資料插入寬格式表:

    INSERT INTO wide_table (
        country,
        key1,
        key2,
        ...,
        keyN
    )
    SELECT
        country,
        MAX(IF(key = 'key1', value, NULL)) AS key1,
        MAX(IF(key = 'key2', value, NULL)) AS key2,
        ...,
        MAX(IF(key = 'keyN', value, NULL)) AS keyN
    FROM table
    GROUP BY country;

範例:

考慮長格式輸入表:

country attrName attrValue key
US President Obama 2
US Currency Dollar 3
China President Hu 4
China Currency Yuan 5

使用上述步驟,我們可以將資料重塑為寬格式:

寬格式輸出:

country President Currency
US Obama Dollar
China Hu Yuan

使用的好處SQL:

  • 效率: SQL 查詢針對資料庫操作進行了最佳化,最大限度地減少處理時間。
  • 聲明式: SQL 讓您以簡潔易讀的方式表達所需的轉換
  • 可移植性: SQL 查詢可以跨不同的MySQL 資料庫執行,確保無需修改即可相容。
  • 可維護性: SQL 查詢一旦執行開發後,可以根據需要輕鬆維護和變更。

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

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