MySQL में GROUP_CONCAT() फ़ंक्शन का उपयोग करके एकाधिक पंक्तियों के टेक्स्ट मानों को एक स्ट्रिंग में जोड़ा जा सकता है। कस्टम विभाजक भी निर्दिष्ट किया जा सकता है।
सिंटैक्स
GROUP_CONCAT(column_name [SEPARATOR 'separator_string'])
उदाहरण
तालिका बनाएं और शब्द डालें:
mysql> CREATE TABLE DemoTable (Value TEXT);
mysql> INSERT INTO DemoTable VALUES
-> ('John'), ('is'), ('learning'), ('Java'), ('with'), ('MySQL Database');
डेटा
+----------------+
| Value |
+----------------+
| John |
| is |
| learning |
| Java |
| with |
| MySQL Database |
+----------------+
स्पेस विभाजक के साथ संयोजित करें
mysql> SELECT GROUP_CONCAT(Value SEPARATOR ' ')
-> FROM DemoTable;
परिणाम
+-------------------------------------------+
| group_concat(Value separator ' ') |
+-------------------------------------------+
| John is learning Java with MySQL Database |
+-------------------------------------------+
महत्वपूर्ण विकल्प
SEPARATOR- डिफ़ॉल्ट कॉमा (,) है, कस्टम स्ट्रिंग निर्दिष्ट करेंDISTINCT- डुप्लिकेट मान हटाएं:GROUP_CONCAT(DISTINCT Value)ORDER BY- क्रम नियंत्रित करें:GROUP_CONCAT(Value ORDER BY Value)LIMIT- परिणाम सीमित करें (MySQL 8.0+)
डिफ़ॉल्ट सीमा
group_concat_max_len सिस्टम वेरिएबल डिफ़ॉल्ट 1024 बाइट्स तक सीमित करता है। बढ़ाएं:
SET SESSION group_concat_max_len = 1000000;
उपयोग केस
- CSV निर्यात
- टैग सूची बनाना
- संबंधित डेटा को एक फील्ड में संयोजित करना
- रिपोर्टिंग के लिए पंक्तियों को समूहित करना