>데이터 베이스 >MySQL 튜토리얼 >ORDER BY를 사용하여 GROUP_CONCAT 내에서 결과를 정렬하려면 어떻게 해야 합니까?

ORDER BY를 사용하여 GROUP_CONCAT 내에서 결과를 정렬하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-04 11:50:14474검색

How Can I Order Results Within GROUP_CONCAT Using ORDER BY?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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