1.背景
学生表、分数记录表、学生和分数纪录关系表;要查询统一学生多次分数,正常做法是
SELECT s.id, s.`name`, sr.score FROM student AS s JOIN student_score_relation AS ssr ON s.id = ssr.student_id JOIN score_record AS sr ON ssr.score_record_id = sr.id;
最后在数据库分组合并记录
2.使用MySQL的GROUP_CONCAT函数
SELECT s.id, s.`name`, GROUP_CONCAT(sr.score) AS scores FROM student AS s JOIN student_score_relation AS ssr ON s.id = ssr.student_id JOIN score_record AS sr ON ssr.score_record_id = sr.id GROUP BY s.id;