2009-06-15 13 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

दुखद लेकिन सच है। :) क्या वह कोड पर्याप्त है या क्या मुझे पूरी क्वेरी लिखनी चाहिए? – 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; 
संबंधित मुद्दे