सबसे पहले, आइए एक टेबल बनाते हैं।
mysql> create table GroupConcatenateDemo -> ( -> id int, -> FirstName varchar(100), -> Score int -> ); Query OK, 0 rows affected (0.61 sec)
रिकॉर्ड्स डालना
आइए अब कुछ रिकॉर्ड्स डालते हैं।
mysql> insert into GroupConcatenateDemo values(1,'John',94); Query OK, 1 row affected (0.16 sec) mysql> insert into GroupConcatenateDemo values(2,'Bob',98); Query OK, 1 row affected (0.16 sec) mysql> insert into GroupConcatenateDemo values(4,'Carol',100); Query OK, 1 row affected (0.20 sec)
टेबल में कितने रिकॉर्ड्स मौजूद हैं, यह जांचने के लिए।
mysql> select *from GroupConcatenateDemo;
यहां आउटपुट है।
+------+-----------+-------+ | id | FirstName | Score | +------+-----------+-------+ | 1 | John | 94 | | 2 | Bob | 98 | | 3 | Carol | 100 | +------+-----------+-------+ 3 rows in set (0.00 sec)
GROUP_CONCAT का उपयोग करने का सिंटैक्स
रिकॉर्ड्स को जोड़ने का निम्नलिखित सिंटैक्स है।
Select column_name1,group_concat(concat(`Column_name2`,'separatorValue',`Column_name3`) separator 'separatorValue') as AliasName yourTableName group by column_name1;
निम्नलिखित एक उदाहरण है।
mysql> SELECT -> id,group_concat(concat(`FirstName`,':',`score`) separator ',') -> as FirstNameAndScore from GroupConcatenateDemo group by id;
यहां आउटपुट है जो दर्शाता है कि हमने सफलतापूर्वक रिकॉर्ड्स को जोड़ा है।
+------+-------------------+ | id | FirstNameAndScore | +------+-------------------+ | 1 | John:94 | | 2 | Bob:98 | | 3 | Carol:100 | +------+-------------------+ 3 rows in set (0.00 sec)
व्याख्या:CONCATप्रत्येक पंक्ति के लिए मानों को जोड़ता है (जैसे 'John:94'), फिरGROUP_CONCATउन परिणामों को समूह के अनुसार एक स्ट्रिंग में जोड़ता है (सेपरेटर ',' के साथ)। डिफ़ॉल्टgroup_concat_max_len1024 बाइट्स है; बड़े परिणामों के लिए इसे बढ़ाएं।