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函数可能会因为使用不同的数据库而有不同的写法或语法细节,敬请根据所使用数据库的类型和版本做出适当的调整。