>데이터 베이스 >MySQL 튜토리얼 >GROUP_CONCAT 문에서 값을 정렬하는 방법은 무엇입니까?

GROUP_CONCAT 문에서 값을 정렬하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-19 19:02:02657검색

How to Sort Values in GROUP_CONCAT Statements?

GROUP_CONCAT 문에서 값 정렬

MySQL의 GROUP_CONCAT 함수를 사용하면 지정된 열을 기준으로 그룹화된 값을 연결할 수 있습니다. 그러나 기본적으로 값은 정렬되지 않습니다. 이 문제를 해결하기 위한 간단한 해결책이 있습니다.

해결책:

정렬 기능이 있는 GROUP_CONCAT 구문은 다음과 같습니다.

GROUP_CONCAT(DISTINCT <expression> ORDER BY <order_expression> <direction> SEPARATOR <separator>)

여기서:

  • : 연결할 값
  • : 정렬에 사용되는 열 또는 표현식
  • : 정렬 방향(ASC 또는 DESC)
  • : 연결된 값을 구분하는 데 사용되는 구분 기호

예:

제공된 쿼리에서 연결된 값을 알파벳순으로 정렬하려면 다음과 같이 수정할 수 있습니다.

GROUP_CONCAT((SELECT GROUP_CONCAT(parent.name SEPARATOR " &raquo; ") 
FROM test_competence AS node, test_competence AS parent 
WHERE node.lft BETWEEN parent.lft AND parent.rgt 
  AND node.id = l.competence 
  AND parent.id != 1 
GROUP BY parent.id
ORDER BY parent.name) SEPARATOR "<br />\n") AS competences

하위 쿼리 내에 ORDER BY parent.name을 지정하면 값이 연결되기 전에 사전순으로 정렬됩니다. 이렇게 하면 원하는 결과가 출력됩니다.


Administration » Organization

Crafts » Joinery


위 내용은 GROUP_CONCAT 문에서 값을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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