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

MySQL में कॉलम मान के अनुसार पंक्तियों को सरणी में कैसे ग्रुप करें?


GROUP_CONCAT() और ORDER BY का उपयोग करके पंक्तियों को सरणी में ग्रुप करना

पंक्तियों को सरणी में ग्रुप करने के लिए GROUP_CONCAT() के साथ ORDER BY क्लॉज का उपयोग करें। पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable (
    Id INT,
    FirstName VARCHAR(20)
); 
Query OK, 0 rows affected (0.78 sec)

रिकॉर्ड्स डालना

mysql> INSERT INTO DemoTable VALUES(101, 'John');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable VALUES(102, 'Bob');
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DemoTable VALUES(101, 'David');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable VALUES(101, 'Adam');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable VALUES(102, 'Chris');
Query OK, 1 row affected (0.15 sec)

सभी रिकॉर्ड्स देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+------+-----------+
| Id   | FirstName |
+------+-----------+
| 101  | John      |
| 102  | Bob       |
| 101  | David     |
| 101  | Adam      |
| 102  | Chris     |
+------+-----------+
5 rows in set (0.00 sec)

कॉलम मान के अनुसार पंक्तियों को सरणी में ग्रुप करने की क्वेरी

mysql> SELECT Id, GROUP_CONCAT(FirstName SEPARATOR ',') 
FROM DemoTable
GROUP BY Id
ORDER BY COUNT(Id);

आउटपुट:

+------+---------------------------------------+
| Id   | GROUP_CONCAT(FirstName SEPARATOR ',') |
+------+---------------------------------------+
| 102  | Bob,Chris                             |
| 101  | John,David,Adam                       |
+------+---------------------------------------+
2 rows in set (0.00 sec)

व्याख्या:

  • GROUP BY Id - Id के अनुसार पंक्तियों को ग्रुप करता है।
  • GROUP_CONCAT(FirstName SEPARATOR ',') - प्रत्येक ग्रुप के FirstName मानों को कॉमा से जोड़ता है।
  • ORDER BY COUNT(Id) - ग्रुप्स को पंक्तियों की संख्या के अनुसार सॉर्ट करता है (कम से अधिक)।

  1. - MySQL कॉलम मान में ZEROFILL के साथ अग्रणी शून्य कैसे जोड़ें?

    MySQL में संख्यात्मक कॉलम में अग्रणी शून्य (leading zeros) जोड़कर निश्चित चौड़ाई का डिस्प्ले फॉर्मेट प्राप्त करने के लिए ZEROFILL एट्रिब्यूट का उपयोग करें। यह अकाउंट नंबर, इनवॉइस नंबर, आईडी आदि के लिए आदर्श है। उदाहरण: ZEROFILL के साथ ऑटो-इन्क्रीमेंट ID 4-अंकीय ZEROFILL कॉलम के साथ टेबल बनाएं: my

  1. - MySQL में प्रति ग्रुप कॉलम का अधिकतम मान

    आइए समझते हैं कि MySQL में प्रति ग्रुप कॉलम का अधिकतम मान कैसे खोजें: SELECT colName1, MAX(colName2) FROM tableName GROUP BY colName1 ORDER BY colName1; अब हम एक लाइव उदाहरण देखेंगे। मान लीजिए हमारे पास एक टेबल PRODUCT है: <PRODUCT> +---------+--------+ | Article | Price | +---------+-----

  1. - MySQL में किसी कॉलम में अधिकतम मान खोजना

    किसी कॉलम में अधिकतम मान खोजने के लिए MAX(columnName) का उपयोग करना होगा। लेकिन, पहले, हम MySQL में डेटाबेस और टेबल के बारे में समझेंगे। MySQL इंस्टॉल करने से पहले, यह निर्धारित करना महत्वपूर्ण है कि किस संस्करण और किस डिस्ट्रीब्यूशन फॉर्मेट (यह बाइनरी फाइल या सोर्स फाइलों से हो सकता है) का उपयोग