MySQL的GROUP_CONCAT函數用于將每個組的多個行連接為一個字符串。它可以將每個組的多個列值連接為一個字符串,并可選地指定分隔符。GROUP_CONCAT函數常用于生成逗號分隔的值列表或用于生成逗號分隔的標簽列表等。
例如,假設有一個表格"students",包含以下列:id, name, subject。我們可以使用以下查詢來將每個學生的科目連接為一個字符串:
SELECT id, name, GROUP_CONCAT(subject) FROM students GROUP BY id, name;
這將返回每個學生的id、name和將其科目連接為一個字符串的結果。如果沒有指定分隔符,默認使用逗號作為分隔符。
另外,還可以使用ORDER BY子句對GROUP_CONCAT函數的結果進行排序,以自定義連接后的字符串的順序。例如:
SELECT id, name, GROUP_CONCAT(subject ORDER BY subject ASC) FROM students GROUP BY id, name;
這將按科目的字母順序連接科目,并返回每個學生的id、name和排序后的科目字符串。