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

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

DDD
DDD원래의
2024-12-10 21:21:10255검색

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

MySQL의 DISTINCT를 사용하여 GROUP_CONCAT() 결과에서 중복 필터링

데이터베이스 쿼리에서 GROUP_CONCAT() 함수는 여러 행의 값을 단일 문자열로 연결하는 데 자주 사용됩니다. . 그러나 때로는 결과 문자열에 중복된 값이 포함될 수 있습니다. 이 문제를 해결하기 위해 MySQL은 GROUP_CONCAT() 내에 DISTINCT 속성을 제공합니다.

GROUP_CONCAT()와 DISTINCT: 실제 예

"카테고리" 열이 있는 다음 표를 고려하세요.

categories
test1 test2 test3
test4
test1 test3
test1 test3

다음을 실행하면 쿼리:

SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table;

다음 결과를 얻습니다.

test1 test2 test3 test4 test1 test3

그러나 중복 값을 제외하여 다음과 같은 결과를 얻을 수 있습니다.

test1 test2 test3 test4

사용 중복을 제거하기 위한 DISTINCT

이를 달성하려면 간단히 DISTINCT 속성을 GROUP_CONCAT() 함수:

SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table;

DITINCT를 지정하면 MySQL은 연결된 문자열에서 중복 값을 제거하여 원하는 결과를 얻습니다. ORDER BY 절을 사용하면 연결된 값이 오름차순으로 정렬됩니다.

위 내용은 MySQL의 GROUP_CONCAT() 결과에서 중복 항목을 어떻게 제거할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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