복붙노트

[SQL] MySQL의 GROUP_CONCAT 중복

SQL

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

해결법

  1. ==============================

    1.당신은 DISTINCT 옵션을 사용합니다 :

    당신은 DISTINCT 옵션을 사용합니다 :

    GROUP_CONCAT(DISTINCT animal)
    
  2. from https://stackoverflow.com/questions/4561650/mysql-group-concat-duplicates by cc-by-sa and MIT license