집 >데이터 베이스 >MySQL 튜토리얼 >SQL의 GROUP_CONCAT 함수 내에서 연결된 값을 어떻게 정렬할 수 있습니까?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!