簡介:
將資料從長格式重塑處理資料時,必須採用寬格式。 MySQL 提供的功能可讓您在不依賴外部腳本語言的情況下執行此操作。
建立寬格式表:
第一步是取得長格式中存在的所有不同鍵的清單tab le:
SELECT DISTINCT key FROM table;
使用獲得的鍵創建具有所需寬格式結構的新表:
CREATE TABLE wide_table ( country VARCHAR(255), key1 VARCHAR(255), key2 VARCHAR(255), ..., keyN VARCHAR(255) );
填入表格值:
最後,使用交叉表查詢將資料插入寬格式表:
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:
以上是如何在 MySQL 中有效地將資料從長格式重塑為寬格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!