by shigemk2

当面は技術的なことしか書かない

GROUP_CONCAT

集約してconcatして一つの文字列にまとめるあれ(デフォルトの区切り文字はカンマ)

GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr}
                 [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val])

ので、50 100 20 30みたいなレコードを集約して 50,100,20,30 みたいな文字列にまとめることができる。 したの例だと、GROUP_CONCAT(test_score ORDER BY test_score) したら 20,30,50,100 みたいなかんじで結果をソートしてくれる。

mysql> SELECT student_name,
    ->     GROUP_CONCAT(test_score)
    ->     FROM student
    ->     GROUP BY student_name;

dev.mysql.com