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

MySQL में DISTINCT पंक्तियों को कॉमा-डिलिमिटेड लिस्ट कॉलम में कैसे चुनें?

GROUP_CONCAT() के साथ कॉमा-सेपरेटेड लिस्ट बनाना

GROUP_CONCAT() फ़ंक्शन का उपयोग करके ग्रुप की गई पंक्तियों के मानों को कॉमा-सेपरेटेड स्ट्रिंग में जोड़ें:

SELECT col1, col2, col3, GROUP_CONCAT(col4) AS alias 
FROM yourTableName 
GROUP BY col3, col1, col2;

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE CommaDelimitedList (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> Name VARCHAR(10),
    -> GroupId INT,
    -> CompanyName VARCHAR(15),
    -> RefId INT,
    -> PRIMARY KEY(Id)
    -> );
mysql> INSERT INTO CommaDelimitedList(Name, GroupId, CompanyName, RefId) 
    -> VALUES('Larry', 5, 'Google', 162);
mysql> INSERT INTO CommaDelimitedList(Name, GroupId, CompanyName, RefId) 
    -> VALUES('Larry', 5, 'Google', 5);
mysql> INSERT INTO CommaDelimitedList(Name, GroupId, CompanyName, RefId) 
    -> VALUES('Larry', 5, 'Google', 4);
mysql> INSERT INTO CommaDelimitedList(Name, GroupId, CompanyName, RefId) 
    -> VALUES('Sam', 6, 'Amazon', 3);

GROUP_CONCAT के साथ क्वेरी

mysql> SELECT Name, GroupId, CompanyName, 
    -> GROUP_CONCAT(RefId) AS RefList 
    -> FROM CommaDelimitedList 
    -> GROUP BY CompanyName, Name, GroupId;

आउटपुट:

+-------+---------+-------------+---------+
| Name  | GroupId | CompanyName | RefList |
+-------+---------+-------------+---------+
| Sam   |       6 | Amazon      | 3       |
| Larry |       5 | Google      | 162,5,4 |
+-------+---------+-------------+---------+

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

  • GROUP_CONCAT(DISTINCT col) - डुप्लिकेट हटाने के लिए
  • GROUP_CONCAT(col ORDER BY col) - सॉर्ट करने के लिए
  • GROUP_CONCAT(col SEPARATOR ';') - अलग सेपरेटर के लिए
  1. - MySQL में SELECT DISTINCT बनाम GROUP BY

    SELECT DISTINCT डुप्लीकेट हटाकर यूनिक वैल्यू देता है। सिंगल कॉलम पर एग्रीगेट के साथ भी उपयोगी। SELECT DISTINCT name FROM DistinctDemo ORDER BY name; -- John, Bob, David GROUP BY एक या अधिक कॉलम द्वारा ग्रुपिंग, एग्रीगेट फंक्शन (SUM, AVG, COUNT) के साथ। SELECT address, COUNT(*) FROM GroupDemo1 GROUP

  1. - MySQL परिणामों को कॉमा सेपरेटेड सूची के रूप में प्रदर्शित करना

    हम concat() फ़ंक्शन का उपयोग करके , पैरामीटर के साथ परिणाम को कॉमा सेपरेटेड सूची के रूप में दिखा सकते हैं। उदाहरण सबसे पहले, हम एक टेबल बनाएंगे। टेबल बनाने के लिए CREATE कमांड का उपयोग किया जाता है। ); Query OK, 0 rows affected (0.93 sec) रिकॉर्ड्स डालना insert into CommaSeperateDemo values(3,J

  1. MySQL से अंतिम 10 रो कैसे चुनें? MySQL से अंतिम 10 रो कैसे चुनें?

    MySQL से अंतिम 10 रो चुनने के लिए, हम SELECT स्टेटमेंट और LIMIT कॉन्सेप्ट के साथ सबक्वेरी का उपयोग कर सकते हैं। निम्न एक उदाहरण है। टेबल बनाना। mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) टेबल में रिकॉर