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

MySQL GROUP BY क्लॉज DISTINCT क्लॉज की तरह कैसे व्यवहार कर सकता है?


जब हम SELECT स्टेटमेंट में GROUP BY क्लॉज का उपयोग एग्रीगेट फंक्शन के बिना करते हैं तो यह DISTINCT क्लॉज की तरह व्यवहार करेगा। उदाहरण के लिए, हमारे पास निम्न टेबल है -

mysql> Select * from testing; 
+------+---------+---------+
| id   | fname   | Lname   |
+------+---------+---------+
|  200 | Raman   | Kumar   |
|  201 | Sahil   | Bhalla  |
|  202 | Gaurav  | NULL    |
|  203 | Aarav   | NULL    |
|  204 | Harshit | Khurana |
|  205 | Rahul   | NULL    |
|  206 | Piyush  | Kohli   |
|  207 | Lovkesh | NULL    |
|  208 | Gaurav  | Kumar   |
|  209 | Raman  | Kumar    |
+------+---------+---------+
10 rows in set (0.00 sec)

कॉलम 'Lname' पर DISTINCT क्लॉज का उपयोग करके, MySQL निम्न रिजल्ट सेट लौटाता है।

mysql> select Distinct LNAME from testing; 
+---------+
| LNAME   |
+---------+
| Kumar   |
| Bhalla  |
| NULL    |
| Khurana |
| Kohli   |
+---------+
5 rows in set (0.00 sec)

अब, GROUP BY क्लॉज का उपयोग निम्न प्रकार से करके, हम वही रिजल्ट सेट प्राप्त कर सकते हैं जो हमें DISTINCT का उपयोग करके मिला था -

mysql> Select LNAME from testing GROUP BY Lname; 
+---------+
| LNAME   |
+---------+
| NULL    |
| Bhalla  |
| Khurana |
| Kohli   |
| Kumar   |
+---------+
5 rows in set (0.04 sec)

हम MySQL द्वारा लौटाए गए दोनों रिजल्ट सेट के बीच अंतर देख सकते हैं कि GROUP BY क्लॉज का उपयोग करने वाली MySQL क्वेरी द्वारा लौटाया गया रिजल्ट सेट क्रमबद्ध है और इसके विपरीत, DISTINCT क्लॉज का उपयोग करने वाली MySQL क्वेरी द्वारा लौटाया गया रिजल्ट सेट क्रमबद्ध नहीं है।


  1. - MySQL में ORDER BY LIKE कैसे करें?

    CASE स्टेटमेंट के साथ पैटर्न-आधारित सॉर्टिंग LIKE पैटर्न के आधार पर पंक्तियों को क्रमबद्ध करने के लिए ORDER BY में CASE एक्सप्रेशन का उपयोग करें। सिंटैक्स SELECT * FROM yourTableName ORDER BY CASE WHEN yourColumnName LIKE %pattern1% THEN 1 WHEN yourColumnName LIKE %pattern2% THEN 2 ELSE

  1. - MySQL में ग्रुप करके रैंडम ऑर्डर में डेटा कैसे प्राप्त करें?

    MySQL में ग्रुपिंग के साथ रैंडम ऑर्डरिंग MySQL में जब आप किसी कॉलम के आधार पर ग्रुप बनाते हैं और फिर उन ग्रुप्स को रैंडम ऑर्डर में दिखाना चाहते हैं, तो इसके लिए एक सबक्वेरी के साथ RAND() फंक्शन का उपयोग किया जाता है। उदाहरण के लिए टेबल बनाना CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREME

  1. - MySQL में GROUP BY में MIN/MAX सबक्वेरी से समूह प्रतिनिधि पंक्ति चुनें

    MySQL में GROUP BY के साथ प्रत्येक समूह से एक विशिष्ट पंक्ति (जैसे न्यूनतम ID वाली) चुनने के लिए सबक्वेरी में MIN() या MAX() का उपयोग करें। उदाहरण: प्रत्येक अंक समूह से न्यूनतम StudentId वाली पंक्ति 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO DemoTable1572 VALUES(4, 79, Bob); -- समान अंक 79 3.