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

MySQL में सामान्य ID के आधार पर प्रत्येक पंक्ति के सभी मानों को जोड़ें

GROUP_CONCAT() के साथ समूहवार स्ट्रिंग संयोजन

सामान्य ID वाले रिकॉर्ड के लिए, एकाधिक पंक्तियों के मानों को एक ही स्ट्रिंग में जोड़ने के लिए GROUP_CONCAT() फंक्शन का उपयोग करें।

टेबल और डेटा

mysql> CREATE TABLE DemoTable (
    StudentId INT,
    StudentFirstName VARCHAR(100),
    StudentLastName VARCHAR(100)
);
Query OK, 0 rows affected (0.54 sec)
mysql> INSERT INTO DemoTable VALUES(1000,'Adam','Smith');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable VALUES(1000,'John','Doe');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable VALUES(1000,'David','Miller');
Query OK, 1 row affected (0.12 sec)

सभी रिकॉर्ड

mysql> SELECT * FROM DemoTable;
+-----------+------------------+-----------------+
| StudentId | StudentFirstName | StudentLastName |
+-----------+------------------+-----------------+
| 1000      | Adam             | Smith           |
| 1000      | John             | Doe             |
| 1000      | David            | Miller          |
+-----------+------------------+-----------------+
3 rows in set (0.00 sec)

GROUP BY के साथ मानों को जोड़ने की क्वेरी

mysql> SELECT StudentId,
    GROUP_CONCAT(StudentFirstName),
    GROUP_CONCAT(StudentLastName)
    FROM DemoTable GROUP BY StudentId;

परिणाम:

+-----------+--------------------------------+-------------------------------+
| StudentId | group_concat(StudentFirstName) | group_concat(StudentLastName) |
+-----------+--------------------------------+-------------------------------+
| 1000      | Adam,John,David                | Smith,Doe,Miller              |
+-----------+--------------------------------+-------------------------------+
1 row in set (0.00 sec)

उपयोगी विकल्प: GROUP_CONCAT(StudentFirstName ORDER BY StudentFirstName SEPARATOR '; ') से क्रम और विभाजक नियंत्रित करें। डिफ़ॉल्ट विभाजक कॉमा है। लंबी स्ट्रिंग के लिए group_concat_max_len सिस्टम वेरिएबल बढ़ाएं।

  1. - MySQL में GROUP_CONCAT से सभी आइटम एक रो में कैसे प्राप्त करें?

    GROUP_CONCAT() से मल्टीपल रो को सिंगल रो में जोड़ना किसी कॉलम के सभी मानों को एक ही रो में, किसी सेपरेटर (जैसे /) से जोड़कर दिखाने के लिए GROUP_CONCAT() फंक्शन का उपयोग करें। टेबल बनाना और डेटा इन्सर्ट करना CREATE TABLE DemoTable1355 (Location TEXT); INSERT INTO DemoTable1355 VALUES(E:); INSERT IN

  1. - MySQL में सभी कॉलम मानों को कॉमा से अलग करके एक ही पंक्ति में प्रदर्शित करें?

    इसके लिए GROUP_CONCAT() और CONCAT() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1807 ( Id int ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1807 values(101); Query OK, 1 row affected

  1. - MySQL में दो कॉलम के मान गिनें और NULL को बाहर रखें

    COUNT() फ़ंक्शन से NULL मानों को छोड़कर कॉलम मान गिनना COUNT(कॉलम_नाम) स्वचालित रूप से NULL मानों को अनदेखा करता है। दो कॉलम के गैर-NULL मानों का कुल योग पाने के लिए दोनों COUNT को जोड़ें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1975 ( StudentName varchar(20), StudentMarks int ); Q