文字列のリストを返す関数が必要です。
私はこのようなテーブルにデータがあります:
Id MyString
------------------------
1 First
2 Second
3 Third
4 Fourth
私はこのような機能が必要です(これはOracleで機能します):
select LISTAGG(MyString, ', ') as myList where id < 4
これは次のようなものを返します:
myList
------------------------
First, Second, Third
何か案は?
あなたが探している GROUP_CONCAT()
これを試して:
select group_concat(MyString separator ', ') as myList from table
where id < 4
もちろん、group by
結果。
MySQL 5.7.22以降では、2つのJSON集約関数 JSON_ARRAYAGG または JSON_OBJECTAGG も使用できます。これらを MySQLのJSON関数 と組み合わせて、結果をJSONとして集計できます。 GROUP_CONCAT
とは異なり、max_allowed_packet
(すべてのクエリに影響を与える)以外に、返される値のサイズを制限するMySQL構成パラメーターはありません。