前回の日記でGROUP_CONCATがうまくいかないと言ってましたが自己解決しました。
さて、そもそもGROUP_CONCATというのはSTRING型を扱うものでINT型は扱わないらしい。
うん、ここから間違えてたんだね・・・。
っていうことで、SQL文を変更。
GROUP_CONCATに入れる引数がINT型である場合はCAST()関数を使用します。
NoというカラムがINT型である場合を例にすると
GROUP_CONCAT(CAST(
No
AS CHAR))
と書きます。
で、さらにNoの値でソートしたい場合は
GROUP_CONCAT(CAST(
No
AS CHAR) ORDER BY No
)
と書けばOK
実際にプログラムで用いたSQL文がこちら。
SELECT
Group
,GROUP_CONCAT(CAST(No
AS CHAR) ORDER BY No
) FROM Book_list GROUP BY Group
これで
1 2 3 4 5 6 |
+----------------+-------------------+ | Group | GROUP_CONCAT(...) | +----------------+-------------------+ | ハヤテのごとく | 1,2,3,4,5,6,7,... | | 新暗行御史 | 1,2,3,4,5,6,7,... | +----------------+-------------------+ |
という風に表示できました。