ホームページ >データベース >mysql チュートリアル >MySQL の GROUP_CONCAT() で個別の値を取得するにはどうすればよいですか?

MySQL の GROUP_CONCAT() で個別の値を取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-08 22:29:11283ブラウズ

How to Get Distinct Values with MySQL's GROUP_CONCAT()?

MySQL GROUP_CONCAT() の個別値

MySQL を使用する場合、GROUP_CONCAT() 関数を使用してデータを集計するのが一般的です。ただし、連結された結果が明確であることを確認する必要がある場合はどうすればよいでしょうか?

次のシナリオを考えてみましょう:

SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table;

サンプル データの場合:

categories
----------
test1 test2 test3
test4
test1 test3
test1 test3

これクエリは test1 test2 test3 test4 test1 test3 を返します。これにはすべてのカテゴリが含まれますが、重複は削除されません。

GROUP_CONCAT() を使用して個別の値を取得するために、MySQL は DISTINCT 属性を提供します。クエリに DISTINCT を追加すると、個別の値のみが連結されます:

SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table;

DISTINCT を使用すると、重複する値 test1 test3 が削除され、目的の出力が得られます: test1 test2 test3 test4.

この変更により、重複が削除されるだけでなく、連結された値が昇順に並べ替えられ、より整理された値が提供されます。出力。

以上がMySQL の GROUP_CONCAT() で個別の値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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