MySQL數(shù)據(jù)庫中,有時(shí)候需要將表格中的兩列轉(zhuǎn)換為兩行顯示,本文將介紹如何使用MySQL語句實(shí)現(xiàn)這個(gè)轉(zhuǎn)換。
SELECT MAX(CASE WHEN column_name = 'column1' THEN value END) AS column1, MAX(CASE WHEN column_name = 'column2' THEN value END) AS column2 FROM ( SELECT column1, null AS column2 FROM table_name UNION ALL SELECT null AS column1, column2 FROM table_name ) AS subquery CROSS JOIN ( SELECT 'column1' AS column_name UNION ALL SELECT 'column2' AS column_name ) AS columns GROUP BY columns.column_name;
上述代碼實(shí)現(xiàn)了將表格中的兩列轉(zhuǎn)換為兩行的操作。具體做法是將原表格中的每一行分別拆分成兩行,其中第一行只包括第一列(第二列填充null),第二行只包括第二列(第一列填充null)。接著利用MySQL中的CASE函數(shù)將數(shù)據(jù)填充到對應(yīng)的列中,最后通過CROSS JOIN將兩列行轉(zhuǎn)換為兩行列并進(jìn)行分組。
通過這種方法,可以方便地將MySQL表格中的兩列數(shù)據(jù)轉(zhuǎn)換為兩行,為數(shù)據(jù)分析和數(shù)據(jù)展示提供了便利。