যখন আমরা সমষ্টিগত ফাংশন ব্যবহার না করে SELECT স্টেটমেন্টে GROUP BY ক্লজ ব্যবহার করি তখন এটি 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)
এখন, নিচের মত GROUP BY ক্লজ ব্যবহার করে, আমরা DISTINCT −
ব্যবহার করে যেভাবে পেয়েছি একই ফলাফল পেতে পারি।mysql> Select LNAME from testing GROUP BY Lname; +---------+ | LNAME | +---------+ | NULL | | Bhalla | | Khurana | | Kohli | | Kumar | +---------+ 5 rows in set (0.04 sec)
আমরা MySQL দ্বারা প্রত্যাবর্তিত ফলাফল সেট উভয়ের মধ্যে একটি পার্থক্য লক্ষ্য করতে পারি যে ফলাফল সেটটি MySQL ক্যোয়ারী দ্বারা GROUP BY ক্লজ ব্যবহার করে রিটার্ন করা হয় এবং বিপরীতে, DISTINCT ক্লজ ব্যবহার করে MySQL ক্যোয়ারী দ্বারা ফলাফল সেট রিটার্ন করা হয় না৷