यह SELECT स्टेटमेंट में GROUP BY क्लॉज का उपयोग करके किया जा सकता है। हम ग्रुप बाय क्लॉज की मदद से एक कॉलम को ग्रुपिंग क्राइटेरिया के रूप में निर्दिष्ट कर सकते हैं। निर्दिष्ट समूहीकरण मानदंड के कारण, किसी विशेष कॉलम में समान मान वाली पंक्तियों को एकल समूह माना जाता है। इस तरह, MySQL SELECT स्टेटमेंट द्वारा लौटाए गए परिणाम सेट को समूहों में विभाजित किया जाएगा।
उदाहरण
इसे समझने के लिए एक अच्छा उदाहरण निम्नलिखित है -
हमारे पास 'कर्मचारी' नाम की एक तालिका इस प्रकार है -
mysql> Select * from employees; +------+-------------+--------+------------+ | id | designation | Salary | DoJ | +------+-------------+--------+------------+ | 100 | Asst.Prof | 50000 | 2016-06-15 | | 300 | Prof | 85000 | 2010-05-18 | | 250 | Asso.Prof | 74000 | 2013-02-12 | | 400 | Prof | 90000 | 2009-05-19 | | 200 | Asst.Prof | 60000 | 2015-05-11 | +------+-------------+--------+------------+ 5 rows in set (0.00 sec)
अब निम्नलिखित स्क्रिप्ट की सहायता से हम आउटपुट को समूहों में विभाजित करेंगे;
mysql> select designation, count(*), AVG(salary) from employees group by designation; +-------------+----------+-------------+ | designation | count(*) | AVG(salary) | +-------------+----------+-------------+ | Asso.Prof | 1 | 74000.0000 | | Asst.Prof | 2 | 55000.0000 | | Prof | 2 | 87500.0000 | +-------------+----------+-------------+ 3 rows in set (0.00 sec)
उपरोक्त क्वेरी एसो के समूहों में सेट परिणाम लौटाती है। प्रोफेसर, संख्या में कुल 1 और औसत वेतन 74000, सहायक प्रोफेसर, संख्या में कुल 2 और औसत वेतन 55000 और प्रो, संख्या में कुल 2 और औसत वेतन 87500 ।