ग्रुप के अनुसार सभी पंक्तियों को सूचीबद्ध करने के लिए, आप GROUP_CONCAT() फ़ंक्शन का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20),
Value VARCHAR(100)
);
टेबल में कुछ रिकॉर्ड डालें:
mysql> INSERT INTO DemoTable(Name, Value) VALUES('John', 'John');
mysql> INSERT INTO DemoTable(Name, Value) VALUES('Carol', 'Carol');
mysql> INSERT INTO DemoTable(Name, Value) VALUES('John', 'Works');
mysql> INSERT INTO DemoTable(Name, Value) VALUES('Carol', 'Works');
mysql> INSERT INTO DemoTable(Name, Value) VALUES('John', 'At');
mysql> INSERT INTO DemoTable(Name, Value) VALUES('Carol', 'At');
mysql> INSERT INTO DemoTable(Name, Value) VALUES('John', 'Amazon');
mysql> INSERT INTO DemoTable(Name, Value) VALUES('Carol', 'Google');
टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> SELECT * FROM DemoTable;
आउटपुट:
+----+-------+--------+ | Id | Name | Value | +----+-------+--------+ | 1 | John | John | | 2 | Carol | Carol | | 3 | John | Works | | 4 | Carol | Works | | 5 | John | At | | 6 | Carol | At | | 7 | John | Amazon | | 8 | Carol | Google | +----+-------+--------+
ग्रुप के अनुसार सभी पंक्तियों को सूचीबद्ध करने के लिए क्वेरी। यहाँ 'John' के लिए मान प्राप्त होंगे जैसे "John Works At Amazon" आईडी 1, 3, 5, 7 से। इसी तरह 'Carol' के लिए भी काम करेगा:
mysql> SELECT Name, GROUP_CONCAT(Value SEPARATOR ' ') AS `Complete_Status` FROM DemoTable GROUP BY Name;
आउटपुट:
+-------+-----------------------+ | Name | Complete_Status | +-------+-----------------------+ | Carol | Carol Works At Google | | John | John Works At Amazon | +-------+-----------------------+