>데이터 베이스 >MySQL 튜토리얼 >MySQL의 GROUP_CONCAT() 함수에서 중복 항목을 어떻게 제거할 수 있습니까?

MySQL의 GROUP_CONCAT() 함수에서 중복 항목을 어떻게 제거할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-26 13:29:09784검색

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

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.