जब हम सलेक्ट स्टेटमेंट में ग्रुप बाय क्लॉज का इस्तेमाल करते हैं बिना एग्रीगेट फंक्शन का इस्तेमाल किए तो यह 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)
कॉलम 'पता' पर DISTINCT क्लॉज का उपयोग करके, MySQL निम्नलिखित परिणाम सेट लौटाता है।
mysql> Select DISTINCT ADDRESS from Student_info; +------------+ | ADDRESS | +------------+ | Amritsar | | Chandigarh | | Shimla | | Jhansi | | Delhi | | NULL | +------------+ 6 rows in set (0.07 sec)
अब, ग्रुप बाय क्लॉज का उपयोग करके, हम वही परिणाम सेट प्राप्त कर सकते हैं जो हमें 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 क्वेरी द्वारा परिणाम सेट रिटर्न को सॉर्ट किया जाता है और इसके विपरीत, DISTICT क्लॉज का उपयोग करके MySQL क्वेरी द्वारा परिणाम सेट रिटर्न को सॉर्ट नहीं किया जाता है।