ホームページ >データベース >mysql チュートリアル >MySQL で文字列をリストに集約する方法 (Oracle の LISTAGG と同様)?
MySQL の集計関数: 値をリストに集計します (次の LISTAGG に似ています) Oracle)
クエリ:
I need function, that returns list of strings. I have data in table like this: Id MyString ------------------------ 1 First 2 Second 3 Third 4 Fourth I need function like this (something like this works in oracle): select LISTAGG(MyString, ', ') as myList where id < 4 That returns something like this: myList ------------------------ First, Second, Third
回答:
MySQL は、次の GROUP_CONCAT() 関数を提供します。この目的。値をカンマ区切りのリストに集計します。
GROUP_CONCAT() を使用したクエリ:
select group_concat(MyString separator ', ') as myList from table where id < 4
このクエリは、カンマで区切られた文字列のリストを返します。 ID が 4 未満のすべての行。「myList」列には、集計されたデータが含まれます。 result.
注: GROUP_CONCAT() 関数を使用すると、必要に応じて複数の列によるグループ化が可能になります。例:
select group_concat(MyString separator ', ') as myList from table where id < 4 group by another_column
このクエリは、another_column 列ごとに結果をグループ化し、グループごとに文字列のリストを作成します。
以上がMySQL で文字列をリストに集約する方法 (Oracle の LISTAGG と同様)?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。