집 >데이터 베이스 >MySQL 튜토리얼 >MySQL의 GROUP_CONCAT() 함수에서 중복 항목을 어떻게 제거할 수 있습니까?
DITINCT를 사용하여 GROUP_CONCAT()에서 중복 제거
MySQL에서 GROUP_CONCAT()는 여러 행의 값을 하나의 행으로 집계하는 데 유용한 함수입니다. 단일 쉼표로 구분된 문자열입니다. 그러나 고유하지 않은 값으로 작업할 때 결과 문자열에 중복이 나타날 수 있습니다. 이 문제를 해결하려면 GROUP_CONCAT() 함수 내에서 DISTINCT 속성을 사용할 수 있습니다.
문제:
"범주" 열이 있는 다음 샘플 데이터 테이블을 고려하세요.
categories |
---|
test1 test2 test3 |
test4 |
test1 test3 |
test1 test3 |
다음 GROUP_CONCAT()을 수행할 때 쿼리:
SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table
결과는 다음과 같습니다.
test1 test2 test3 test4 test1 test3
그러나 원하는 결과는 다음과 같습니다.
test1 test2 test3 test4
해결책:
GROUP_CONCAT() 결과에서 중복된 값을 제거하려면 DISTINCT 속성을 사용하세요.
SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table
DISTINCT 속성은 연결된 문자열에 고유한 값만 포함되도록 보장합니다. ORDER BY 절은 값을 오름차순으로 정렬하는 데 사용됩니다. 결과는 고유 카테고리만 포함하는 쉼표로 구분된 문자열입니다.
test1 test2 test3 test4
위 내용은 MySQL의 GROUP_CONCAT() 함수에서 중복 항목을 어떻게 제거할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!