MySQL дубликаты GROUP_CONCAT - PullRequest
       6

MySQL дубликаты GROUP_CONCAT

39 голосов
/ 30 декабря 2010

Я делаю свое соединение из таблицы 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

1 Ответ

122 голосов
/ 30 декабря 2010

Вам необходимо использовать опцию DISTINCT:

GROUP_CONCAT(DISTINCT animal)
...