而如果采用GROUP_CONCAT()函数和GROUP BY语句就显得非常简单了
mysql> SELECT student_id, GROUP_CONCAT(courses_id) AS courses FROM student_courses
WHERE student_id=2 GROUP BY student_id;
+------------+---------+
| student_id | courses |
+------------+---------+
| 2 | 3,4,5 |
除此之外,还可以对这个组的值来进行排序再连接成字符串,例如按courses_id降序来排:
mysql> SELECT student_id, GROUP_CONCAT(courses_id ORDER BY courses_id DESC) AS courses FROM student_courses WHERE student_id=2 GROUP BY student_id;
+------------+---------+