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

MySQL ग्रुप बाय क्लॉज DISTINCT क्लॉज की तरह कैसे व्यवहार कर सकता है?


जब हम सेलेक्ट स्टेटमेंट में ग्रुप बाय क्लॉज का इस्तेमाल बिना एग्रीगेट फंक्शन के करते हैं तो यह 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)

अब, ग्रुप बाय क्लॉज का उपयोग करके, हम वही परिणाम सेट प्राप्त कर सकते हैं जो हमें 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 में LIKE द्वारा कैसे ऑर्डर करें?

    MySQL में लाइक द्वारा ऑर्डर करने के लिए, केस स्टेटमेंट का उपयोग करें। वाक्य रचना इस प्रकार है - चुनें *अपनेटेबलनाम से ऑर्डर करें जब आपका कॉलमनाम %yourPatternValue1% जैसा हो, तब 1 जब आपका कॉलमनाम %yourPatternValue2% जैसा हो, तब 2 और 3end; उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं।

  1. मैं समूह में कैसे ऑर्डर कर सकता हूं लेकिन यादृच्छिक रूप से MySQL के साथ?

    आइए पहले एक टेबल बनाएं - mysql> create table DemoTable    (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Value char(1)    ); Query OK, 0 rows affected (0.66 sec) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - mysql> insert into DemoTable(V

  1. MySQL GROUP BY क्लॉज में पंक्तियों को कैसे ऑर्डर या चुनें?

    आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.56 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1572 मानों (4,79, बॉब) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें - DemoTable1572