ORDER BY를 사용하여 GROUP_CONCAT에서 결과 정렬
클라이언트당 여러 행이 있는 테이블이 있고 그룹화하려는 상황에서 특정 순서로 데이터를 연결하면 GROUP_CONCAT을 ORDER BY 절과 함께 활용할 수 있습니다. 다음 데이터가 포함된 li라는 테이블을 생각해 보겠습니다.
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 | group_concat(li.percentage) |
---|---|---|
1 | 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 ASC) AS views, group_concat(li.percentage ORDER BY li.views ASC) AS percentage 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 |
위 내용은 ORDER BY를 사용하여 GROUP_CONCAT 내에서 결과를 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!