GROUP_CONCAT 함수를 사용하여 그룹화된 행의 값을 결합하는 경우 이러한 값의 순서를 유지하는 것이 유용할 수 있습니다.
라는 이름의 테이블이 있다고 가정합니다. client_id, views 및 ratio 열이 있는 "li"입니다. client_id별로 행을 그룹화하고 뷰 값을 연결하려고 합니다. 우리는 처음에 다음을 시도합니다.
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 | +-----------+-------------------+-----------------------------+
GROUP_CONCAT 내에서 결과를 정렬하려면 ORDER BY를 사용할 수 있습니다. 함수:
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 | +-----------+-------------------+----------------------------+
위 내용은 MySQL의 GROUP_CONCAT 함수에서 값의 순서를 어떻게 제어할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!