ホームページ >データベース >mysql チュートリアル >MySQL の 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 サイトの他の関連記事を参照してください。