在MySQL中,可以使用CASE語句來實現行轉列操作。通過使用CASE語句,可以根據不同的條件將多行數據轉換為單行數據。下面是一個示例:
假設有一個名為students的表,包含以下數據:
id | name | subject |
---|---|---|
1 | Alice | Math |
2 | Bob | English |
3 | Carol | Science |
如果要將該表中的數據按照不同科目轉換為單行數據,可以使用如下查詢語句:
SELECT
MAX(CASE WHEN subject = 'Math' THEN name ELSE NULL END) AS Math,
MAX(CASE WHEN subject = 'English' THEN name ELSE NULL END) AS English,
MAX(CASE WHEN subject = 'Science' THEN name ELSE NULL END) AS Science
FROM students;
執行以上查詢后,將會得到如下結果:
Math | English | Science |
---|---|---|
Alice | Bob | Carol |
通過使用MAX函數和CASE語句,可以將多行數據轉換為單行數據,實現行轉列的效果。