在mysql中,有時候需要把列變成行來滿足特定需求,這個過程稱為“行轉列”。下面介紹兩種常用的行轉列的方法。
方法一:使用GROUP_CONCAT()
SELECT id, GROUP_CONCAT(name) AS names FROM students GROUP BY id;
上面的語句將students表中同一個id的所有name用逗號連接起來,形成一個names列。
方法二:使用CASE WHEN
SELECT id, max(case when subject='math' then score end) as math_score, max(case when subject='english' then score end) as english_score, max(case when subject='history' then score end) as history_score FROM scores GROUP BY id;
上面的語句將scores表中同一個id的不同科目成績分別放到不同的列中。
以上就是兩種常用的mysql行轉列方法,具體使用需要根據實際情況進行選擇。