मूल रूप से सवाल यह है कि इससे कैसे प्राप्त करें:
foo_id foo_name 1 ए 1 बी 2 सी
इसके लिए:
foo_id foo_name 1 एबी 2 सी
मूल रूप से सवाल यह है कि इससे कैसे प्राप्त करें:
foo_id foo_name 1 ए 1 बी 2 सी
इसके लिए:
foo_id foo_name 1 एबी 2 सी
जवाबों:
SELECT id, GROUP_CONCAT(name SEPARATOR ' ') FROM table GROUP BY id;
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
ऊपर दिए गए लिंक से GROUP_CONCAT
: यह फ़ंक्शन किसी समूह से संक्षिप्त गैर-पूर्ण मान के साथ एक स्ट्रिंग परिणाम देता है। यदि कोई गैर-पूर्ण मान नहीं है तो यह NULL देता है।
SELECT id, GROUP_CONCAT( string SEPARATOR ' ') FROM table GROUP BY id
अधिक जानकारी यहाँ ।
ऊपर दिए गए लिंक से GROUP_CONCAT
: यह फ़ंक्शन किसी समूह से संक्षिप्त गैर-पूर्ण मान के साथ एक स्ट्रिंग परिणाम देता है। यदि कोई गैर-पूर्ण मान नहीं है तो यह NULL देता है।
SELECT id, GROUP_CONCAT(name SEPARATOR ' ') FROM table GROUP BY id;
: - MySQL में, आप अभिव्यक्ति संयोजनों का संक्षिप्त मान प्राप्त कर सकते हैं। डुप्लिकेट मानों को समाप्त करने के लिए, DISTINCT क्लॉज का उपयोग करें । परिणाम में मानों को सॉर्ट करने के लिए, ORDER BY क्लॉज का उपयोग करें। रिवर्स ऑर्डर में सॉर्ट करने के लिए , ORDER BY क्लॉज में आपके द्वारा सॉर्ट किए जा रहे कॉलम के नाम पर DESC (अवरोही) कीवर्ड जोड़ें । डिफ़ॉल्ट आरोही क्रम है; यह ASC कीवर्ड का उपयोग करके स्पष्ट रूप से निर्दिष्ट किया जा सकता है। समूह में मानों के बीच डिफ़ॉल्ट विभाजक अल्पविराम (",") है। स्पष्ट रूप से विभाजक निर्दिष्ट करने के लिए, स्ट्रिंग मानों के बाद SEPARATOR का उपयोग करें जिसे समूह मानों के बीच डाला जाना चाहिए। विभाजक को पूरी तरह से समाप्त करने के लिए, SEPARATOR को निर्दिष्ट करें '' ।
GROUP_CONCAT([DISTINCT] expr [,expr ...]
[ORDER BY {unsigned_integer | col_name | expr}
[ASC | DESC] [,col_name ...]]
[SEPARATOR str_val])
या
mysql> SELECT student_name,
-> GROUP_CONCAT(DISTINCT test_score
-> ORDER BY test_score DESC SEPARATOR ' ')
-> FROM student
-> GROUP BY student_name;
परिणाम को उस अधिकतम लंबाई तक काट दिया जाता है जो group_concat_max_len सिस्टम चर द्वारा दिया जाता है, जिसका डिफ़ॉल्ट मान 1024 वर्ण है, इसलिए हम पहले करते हैं:
SET group_concat_max_len=100000000;
और फिर, उदाहरण के लिए:
SELECT pub_id,GROUP_CONCAT(cate_id SEPARATOR ' ') FROM book_mast GROUP BY pub_id
group_concat_max_len
कॉन्फिगरेशन का स्कोप क्या है ? वर्तमान कनेक्शन / सत्र, या यह अन्य ग्राहकों को प्रभावित करेगा?
शानदार जवाब। मुझे NULLS से भी समस्या थी और GROUP_CONCAT के अंदर एक COALESCE को शामिल करके इसे हल करने में कामयाब रहा। उदाहरण इस प्रकार है:
SELECT id, GROUP_CONCAT(COALESCE(name,'') SEPARATOR ' ')
FROM table
GROUP BY id;
मनाइए कि यह किसी और के लिए सहायक हो