집 >데이터 베이스 >MySQL 튜토리얼 >GROUP_CONCAT 문에서 값을 정렬하는 방법은 무엇입니까?
GROUP_CONCAT 문에서 값 정렬
MySQL의 GROUP_CONCAT 함수를 사용하면 지정된 열을 기준으로 그룹화된 값을 연결할 수 있습니다. 그러나 기본적으로 값은 정렬되지 않습니다. 이 문제를 해결하기 위한 간단한 해결책이 있습니다.
해결책:
정렬 기능이 있는 GROUP_CONCAT 구문은 다음과 같습니다.
GROUP_CONCAT(DISTINCT <expression> ORDER BY <order_expression> <direction> SEPARATOR <separator>)
여기서:
예:
제공된 쿼리에서 연결된 값을 알파벳순으로 정렬하려면 다음과 같이 수정할 수 있습니다.
GROUP_CONCAT((SELECT GROUP_CONCAT(parent.name SEPARATOR " » ") 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!