sqlで複数行を1行にマージする方法は何ですか?

SQLでは、GROUP BY句と集計関数を使用して複数行を1行に結合することができます。

例えば、次のデータがある場合:

id   name
1    John
1    Jane
1    Mike
2    Anna
2    David

上記のデータをID別に1行に結合するには、GROUP BY句とGROUP_CONCAT関数を使用してください。

SELECT id, GROUP_CONCAT(name) AS names
FROM table_name
GROUP BY id;

上記の問い合わせには、以下の結果が返ってきます。

id   names
1    John,Jane,Mike
2    Anna,David

GROUP_CONCAT関数は、idごとのnameの値を1つの文字列にまとめ、各値をコンマで区切ります。

留意的是,GROUP_CONCAT函数可能会因为使用不同的数据库而有不同的写法或语法细节,敬请根据所使用数据库的类型和版本做出适当的调整。

bannerAds