web-dev-qa-db-ja.com

mysql GROUP_CONCATの重複

このようなfarmTOanimalテーブルから参加します。同様のfarmTotoolテーブルがあります

id | FarmID  | animal
 1 |    1    | cat
 2 |    1    | dog

ビューでテーブルを結合すると、次のような結果が得られます

FarmID | animal | tool
   1   |  cat   | shovel
   1   |  dog   | shovel
   1   |  cat   | bucket
   1   |  dog   | bucket

今、GROUP BY FarmID、およびGROUP_CONCAT(動物)およびGROUP_CONCAT(ツール)を実行します。

FarmID |     animals     |         tools
  1    | cat,dog,cat,dog | shovel,shovel,bucket,bucket

しかし、私が本当に欲しいのは、このような結果です。どうすればできますか?

FarmID | animals |    tools
  1    | cat,dog | shovel,bucket
42
Matt

DISTINCTオプションを使用する必要があります。

GROUP_CONCAT(DISTINCT animal)
127
grahamparks