2009-06-15 4 views
139

간단히 말해서 GROUP_CONCAT 문의 값을 정렬 할 수있는 방법이 있습니까?MySQL : GROUP_CONCAT 값 정렬

검색어 : »기구

내가 이런 식으로 원하는

공예 » 가구 만드는 일

관리 :

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 
ORDER BY parent.lft) SEPARATOR "<br />\n") AS competences 

나는이 행을 얻을

관리 »기구

공예

+0

또한 http://stackoverflow.com/q/8631210/632951 – Pacerier

답변

300

물론 » 가구 만드는 일이, http://dev.mysql.com/doc/refman/...tions.html#function_group-concat를 참조하십시오

SELECT student_name, 
    GROUP_CONCAT(DISTINCT test_score ORDER BY test_score DESC SEPARATOR ' ') 
    FROM student 
    GROUP BY student_name; 
+0

완료. 슬픈 당신이 코멘트에 코드를 넣을 수 없다 ... – Ivar

+0

당신의 코드는 당신의 특정 답변에 크게 의존하고 있기 때문에 원래의 포스트가 아닌 다른 곳에 두어서는 안됩니다. 이 코멘트에 여기에 넣으면 여기에있는 많은 프로그래머가 그것을 볼 수 없으며 가장 좋은 응답을 얻지 못할 것입니다. – Sampson

+0

Sad but true. :) 그 코드가 충분합니까? 아니면 전체 쿼리를 작성해야합니까? – Ivar

16

당신에 의해 주문을 의미합니까?

SELECT _key,    
COUNT(*) as cnt,    
GROUP_CONCAT(_value ORDER BY _value SEPARATOR ', ') as value_list  
FROM group_concat_test  
GROUP BY _key  
ORDER BY _key;