Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में GROUP_CONCAT() और CONCAT() दोनों का उपयोग करके एक ही क्वेरी में स्ट्रिंग्स संयोजित करें

CONCAT() स्ट्रिंग्स को जोड़ता है, जबकि GROUP_CONCAT() एक समूह से स्ट्रिंग्स को एकल स्ट्रिंग में जोड़ता है।

आइए पहले एक टेबल बनाते हैं:

mysql> create table DemoTable799 ( UserId int, UserName varchar(100), UserAge int ); 
Query OK, 0 rows affected (0.56 sec)

इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:

mysql> insert into DemoTable799 values(101,'John',21); 
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable799 values(102,'Chris',26); 
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable799 values(101,'Robert',23); 
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable799 values(103,'David',24); 
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable799 values(101,'Mike',29); 
Query OK, 1 row affected (0.18 sec)

सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> select * from DemoTable799;

यह निम्नलिखिक आउटपुट देगा:

+--------+----------+---------+
| UserId | UserName | UserAge |
+--------+----------+---------+
| 101    | John     | 21      |
| 102    | Chris    | 26      |
| 101    | Robert   | 23      |
| 103    | David    | 24      |
| 101    | Mike     | 29      |
+--------+----------+---------+
5 rows in set (0.00 sec)

CONCAT() और GROUP_CONCAT() के साथ स्ट्रिंग्स संयोजित करने की क्वेरी

mysql> select UserId, GROUP_CONCAT(CONCAT('MR.', UserName)) from DemoTable799 group by UserId;

यह निम्नलिखिक आउटपुट देगा:

+--------+---------------------------------------+
| UserId | GROUP_CONCAT(CONCAT('MR.', UserName)) |
+--------+---------------------------------------+
| 101    | MR.John,MR.Robert,MR.Mike             |
| 102    | MR.Chris                              |
| 103    | MR.David                              |
+--------+---------------------------------------+
3 rows in set (0.00 sec)

व्याख्या

  • CONCAT('MR.', UserName) प्रत्येक नाम के आगे 'MR.' जोड़ता है (पंक्ति-स्तर पर)
  • GROUP_CONCAT(...) प्रत्येक UserId समूह के लिए उन संयोजित नामों को जोड़ता है (समूह-स्तर पर)
  • GROUP BY UserId UserId के अनुसार समूहित करता है
  • UserId 101 की 3 पंक्तियाँ हैं: John, Robert, Mike → MR.John,MR.Robert,MR.Mike

उपयोगी विकल्प

GROUP_CONCAT(CONCAT('MR.', UserName) ORDER BY UserName SEPARATOR '; ')

नाम के अनुसार सॉर्ट करें और सेमीकोलन विभाजक का उपयोग करें।

  1. - MySQL में AND/OR का उपयोग करके चयन क्वेरी निष्पादित करें

    AND और OR तार्किक ऑपरेटर को मिलाकर एक ही क्वेरी में कई फ़िल्टर शर्तें लागू करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable ( StudentId INT, StudentName VARCHAR(20), StudentSubject VARCHAR(20) ); Query OK, 0 rows affected (0.62 sec) INSERT INTO DemoTable VALUES (10,Chris,MongoDB

  1. - MySQL में GROUP_CONCAT और CONCAT के साथ DISTINCT का उपयोग करके एकल कॉलम के मानों को कोट कैसे करें?

    इसके लिए, आप replace() के साथ group_concat() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1799 ( EmployeeId varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1799 values

  1. - TensorFlow और Python से समान लंबाई के कई स्ट्रिंग्स को कैसे एन्कोड करें?

    समान लंबाई के कई स्ट्रिंग्स को इनपुट वैल्यू के रूप में tf.Tensor का उपयोग करके एन्कोड किया जा सकता है। जब अलग-अलग लंबाई के कई स्ट्रिंग्स को एन्कोड करने की आवश्यकता होती है, तो इनपुट के रूप में tf.RaggedTensor का उपयोग किया जाना चाहिए। यदि एक टेंसर में पैडेड/स्पार्स फॉर्मेट में कई स्ट्रिंग्स हैं, तो