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

एग्रीगेट फंक्शन के बिना GROUP BY क्लॉज कैसे प्रदर्शन करेगा?


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

mysql> Select * from Student_info; 
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Chandigarh | Literature |
| 125  | Raman   | Shimla     | Computers  |
| 130  | Ram     | Jhansi     | Computers  |
| 132  | Shyam   | Chandigarh | Economics  |
| 133  | Mohan   | Delhi      | Computers  |
| 150  | Saurabh | NULL       | Literature |
+------+---------+------------+------------+
7 rows in set (0.00 sec)

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

mysql> Select DISTINCT ADDRESS from Student_info; 
+------------+
| ADDRESS    |
+------------+
| Amritsar   |
| Chandigarh |
| Shimla     |
| Jhansi     |
| Delhi      |
| NULL       |
+------------+
6 rows in set (0.07 sec)

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

mysql> Select ADDRESS from Student_info GROUP BY Address; 
+------------+
| ADDRESS    |
+------------+
| NULL       |
| Amritsar   |
| Chandigarh |
| Delhi      |
| Jhansi     |
| Shimla     |
+------------+
6 rows in set (0.00 sec)

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


  1. - MySQL में LIKE ऑपरेटर से स्ट्रिंग मिलान करना

    MySQL में पैटर्न मिलान के लिए LIKE ऑपरेटर का उपयोग किया जाता है। यह वाइल्डकार्ड कैरेक्टर्स % (कोई भी अक्षरों का अनुक्रम) और _ (एकल अक्षर) का समर्थन करता है। उदाहरण के लिए टेबल बनाना mysql> CREATE TABLE DemoTable ( MonthName VARCHAR(100) ); डेटा डालना mysql> INSERT INTO DemoTable VALUES(J

  1. - MySQL में कंडीशनल GROUP BY से मैक्सिमम वैल्यू कैसे प्राप्त करें?

    GROUP BY और MAX() से कंडीशनल ग्रुपिंग डुप्लीकेट नाम वाले रिकॉर्ड्स में से प्रत्येक नाम की अधिकतम (मैक्सिमम) वैल्यू प्राप्त करने के लिए GROUP BY के साथ MAX() एग्रीगेट फंक्शन का उपयोग करें। टेबल बनाना और डेटा इन्सर्ट करना CREATE TABLE DemoTable ( StudentName VARCHAR(40), StudentMarks INT );

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

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