ホームページ > データベース > mysql チュートリアル > MySQL の GROUP_CONCAT() 結果から重複を削除するにはどうすればよいですか?

MySQL の GROUP_CONCAT() 結果から重複を削除するにはどうすればよいですか?

DDD
リリース: 2024-12-10 21:21:10
オリジナル
188 人が閲覧しました

How Can I Remove Duplicates from MySQL's GROUP_CONCAT() Results?

MySQL の DISTINCT を使用した GROUP_CONCAT() 結果の重複のフィルタリング

データベース クエリでは、GROUP_CONCAT() 関数は複数の行の値を 1 つの文字列に連結するためによく使用されます。 。ただし、場合によっては、結果の文字列に重複した値が含まれる場合があります。この問題に対処するために、MySQL は GROUP_CONCAT() 内に DISTINCT 属性を提供します。

DISTINCT を使用した GROUP_CONCAT(): 実用的な例

「カテゴリ」列を含む次のテーブルを考えてみましょう。

categories
test1 test2 test3
test4
test1 test3
test1 test3

以下を実行するとクエリ:

SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table;
ログイン後にコピー

次の結果が得られます:

test1 test2 test3 test4 test1 test3
ログイン後にコピー

ただし、重複する値を除外することもでき、結果は次のようになります:

test1 test2 test3 test4
ログイン後にコピー

使用DISTINCT による重複の排除

これを実現するには、単に DISTINCT 属性をGROUP_CONCAT() 関数:

SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table;
ログイン後にコピー

DISTINCT を指定すると、MySQL は連結された文字列から重複する値を削除し、目的の出力が得られます。 ORDER BY 句により、連結された値が確実に昇順に並べ替えられることに注意してください。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート