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

MySQL में विभिन्न पंक्तियों से सूची को एक फ़ील्ड में कैसे लौटाएं

समाधान

GROUP_CONCAT() फंक्शन का उपयोग करके GROUP BY के साथ मानों को जोड़ें।

उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE DemoTable2024 (
    -> SubjectName VARCHAR(20),
    -> StudentName VARCHAR(20)
    -> );

डेटा डालें:

mysql> INSERT INTO DemoTable2024 VALUES ('MySQL', 'Chris');
mysql> INSERT INTO DemoTable2024 VALUES ('MySQL', 'David');
mysql> INSERT INTO DemoTable2024 VALUES ('MongoDB', 'Bob');
mysql> INSERT INTO DemoTable2024 VALUES ('Java', 'Sam');
mysql> INSERT INTO DemoTable2024 VALUES ('MongoDB', 'Mike');

क्वेरी

mysql> SELECT SubjectName, GROUP_CONCAT(StudentName)
    -> FROM DemoTable2024 GROUP BY SubjectName;

परिणाम

+-------------+---------------------------+
| SubjectName | group_concat(StudentName) |
+-------------+---------------------------+
| Java        | Sam                       |
| MongoDB     | Bob,Mike                  |
| MySQL       | Chris,David               |
+-------------+---------------------------+

विकल्प: GROUP_CONCAT(StudentName SEPARATOR ';') कस्टम सेपरेटर के लिए।

  1. - MySQL में सबसे अधिक घटनाओं वाले फील्ड मान को कैसे लौटाएं?

    MySQL में किसी कॉलम में सबसे अधिक बार आने वाले मान (मोड/Mode) को खोजने के लिए, GROUP BY के साथ COUNT(*) गिनें, फिर ORDER BY COUNT(*) DESC और LIMIT 1 से शीर्ष परिणाम लें। उदाहरण: सबसे आम FirstName खोजना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1940 (FirstName VARCHAR(20)); डेटा इन्सर्ट कर

  1. - MySQL में डिलीट की गई पंक्तियों के बाद ऑटो-इन्क्रीमेंट को कैसे ठीक करें?

    MySQL में पंक्तियाँ डिलीट होने के बाद ऑटो-इन्क्रीमेंट मान में गैप (1, 3, 5) रह जाते हैं। यदि क्रमिक मान (1, 2, 3) चाहिए, तो यूज़र-डिफ़ाइंड वेरिएबल के साथ UPDATE का उपयोग करके मौजूदा ID को पुन: क्रमांकित करें। समस्या: डिलीट के बाद गैप टेबल बनाएं और डेटा इन्सर्ट करें: mysql> CREATE TABLE DemoTab

  1. - MySQL में DISTINCT से डुप्लिकेट पंक्तियों में से एक पंक्ति दिखाएं

    DISTINCT कीवर्ड से अद्वितीय पंक्तियां प्राप्त करें पूरी पंक्ति के डुप्लिकेट को हटाकर केवल अद्वितीय पंक्तियां प्राप्त करने के लिए SELECT DISTINCT * का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1998 ( Name varchar(20) ); Query OK, 0 rows affected (0.61 sec) mysql> insert