ホームページ >データベース >mysql チュートリアル >Oracle の LISTAGG() 関数を MySQL でレプリケートするにはどうすればよいですか?

Oracle の LISTAGG() 関数を MySQL でレプリケートするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-08 21:46:12860ブラウズ

How Can I Replicate Oracle's LISTAGG() Function in MySQL?

MySQL 集計関数: List

MySQL では、Oracle で使用される LISTAGG() 関数は使用できません。ただし、GROUP_CONCAT() 関数を使用して同様の機能を実現できます。この集計関数は、複数の行の値を 1 つの文字列に結合します。

Oracle の LISTAGG() 関数の動作を複製するには、次のように GROUP_CONCAT() を使用できます。

SELECT GROUP_CONCAT(MyString SEPARATOR ', ') AS myList
FROM table
WHERE id < 4;

このクエリId 列が 4 未満であるすべての行の MyString 列の値を連結し、カンマで区切ります。結果は、次の値を含む単一の文字列になります。

First, Second, Third

必要に応じて、結果を異なる列ごとにグループ化し、階層リストを作成できます。たとえば、結果を親列ごとにグループ化するには、次を使用できます。

SELECT GROUP_CONCAT(MyString SEPARATOR ', ') AS myList
FROM table
GROUP BY parent_column;

これにより、parent_column 内の各一意の値の文字列のリストが生成されます。

以上がOracle の LISTAGG() 関数を MySQL でレプリケートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。