>데이터 베이스 >MySQL 튜토리얼 >SQL의 GROUP_CONCAT 함수 내에서 연결된 값을 어떻게 정렬할 수 있습니까?

SQL의 GROUP_CONCAT 함수 내에서 연결된 값을 어떻게 정렬할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-02 03:47:10725검색

How Can I Order Concatenated Values within SQL's GROUP_CONCAT Function?

ORDER BY로 향상된 GROUP_CONCAT 함수

SQL에서 GROUP_CONCAT 함수는 특정 행 그룹에 대한 열의 값을 연결하는 데 사용됩니다. . 그러나 연결된 값의 순서는 일반적으로 예측할 수 없습니다.

과제:

다음 표를 고려하세요.

client_id views percentage
1 6 20
1 4 55
1 9 56
1 2 67
1 7 80
1 5 66
1 3 33
1 8 34
1 1 52

GROUP_CONCAT 작업, 데이터는 통합:

SELECT li.client_id, group_concat(li.views) AS views, group_concat(li.percentage) FROM li GROUP BY client_id;

출력:

client_id views percentage
6,4,9,2,7,5,3,8,1 20,55,56,67,80,66,33,34,52

그러나 조회 순서는 필수가 아닙니다. 연결된 값을 오름차순으로 구성하려면 ORDER BY 절을 GROUP_CONCAT 함수 내에 통합할 수 있습니다.

SELECT li.client_id, group_concat(li.views ORDER BY li.views) AS views, group_concat(li.percentage ORDER BY li.views) FROM li GROUP BY client_id

수정된 쿼리는 다음 출력을 반환합니다.

client_id views percentage
1 1,2,3,4,5,6,7,8,9 52,67,33,55,66,20,80,34,56

이 수정은 다음을 보장합니다. 조회수 열은 각 클라이언트 그룹 내에서 오름차순으로 정렬됩니다.

위 내용은 SQL의 GROUP_CONCAT 함수 내에서 연결된 값을 어떻게 정렬할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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