हम GROUP BY का उपयोग किसी कॉलम से मानों को समूहित करने के लिए कर सकते हैं, और यदि हम चाहें तो हम उस कॉलम पर गणना कर सकते हैं। आप समूहित कॉलम पर COUNT, SUM, AVG, आदि फ़ंक्शन का उपयोग कर सकते हैं। GROUP BY क्लॉज को व्यू के साथ समझने के लिए हम 'Info' नामक एक व्यू बना रहे हैं जो आधार तालिका 'Student_info' का उपयोग करता है जिसमें निम्न डेटा है:
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 | +------+---------+------------+------------+ 6 rows in set (0.00 sec)
वाक्यविन्यास
Create or Replace View view_name AS Select_statements FROM table GROUP BY expression1, expression2, ... expression_n;
उदाहरण
mysql> Create or Replace View Info AS select Subject, COUNT(*) FROM Student_info GROUP BY Subject; Query OK, 0 rows affected (0.10 sec) mysql> Select * from info; +------------+----------+ | Subject | COUNT(*) | +------------+----------+ | Computers | 3 | | Economics | 1 | | History | 1 | | Literature | 1 | +------------+----------+ 4 rows in set (0.00 sec) mysql> Create or Replace View Info AS select Subject,Name, COUNT(Subject) FROM Student_info GROUP BY Subject, Name; Query OK, 0 rows affected (0.05 sec)
उपरोक्त क्वेरी में GROUP BY क्लॉज में दो कॉलम होंगे।
mysql> Select * from info; +------------+---------+----------------+ | Subject | Name | COUNT(Subject) | +------------+---------+----------------+ | Computers | Mohan | 1 | | Computers | Ram | 1 | | Computers | Raman | 1 | | Economics | Shyam | 1 | | History | YashPal | 1 | | Literature | Gaurav | 1 | +------------+---------+----------------+ 6 rows in set (0.00 sec)
उपरोक्त परिणाम सेट दर्शाते हैं कि GROUP BY क्लॉज कॉलम के मानों द्वारा पंक्तियों के एक सेट को सारांश पंक्तियों के सेट में समूहित करता है।