কারণ GROUP BY ক্লজ ছাড়া MySQL যে আউটপুট ফেরত দেয় তা ভুলবোঝানির সৃষ্টি করতে পারে। নিচে 'Student' টেবিলে উদাহরণ দেওয়া হল −
mysql> Select * from Student; +------+---------+---------+-----------+ | Id | Name | Address | Subject | +------+---------+---------+-----------+ | 1 | Gaurav | Delhi | Computers | | 2 | Aarav | Mumbai | History | | 15 | Harshit | Delhi | Commerce | | 20 | Gaurav | Jaipur | Computers | +------+---------+---------+-----------+ 4 rows in set (0.00 sec) mysql> Select count(*), Name from Student; +----------+--------+ | count(*) | name | +----------+--------+ | 4 | Gaurav | +----------+--------+ 1 row in set (0.00 sec)
উপরোক্ত কোয়ারটির রেজাল্ট দেখে বোঝা যায় যে গ্রুপ ফাংশন COUNT(*) টেবিলের মোট সারি সংখ্যা ফেরত দেয়, কিন্তু 'Name' ফিল্ডে 'Gaurav' মানটি ভুলবোঝানিকারী কারণ আমরা জানি না এটি কলামের প্রথম মান কিনা বা একাধিকবার সংরক্ষিত আছে কিনা, MySQL এটি যেভাবে ফেরত দেয়।
এখন যদি আমরা এই কোয়ারিটিকে GROUP BY ক্লজের সাথে লিখি তবে রেজাল্ট সেট নিম্নরূপ হবে −
mysql> Select count(*), name from student GROUP BY id; +----------+---------+ | count(*) | name | +----------+---------+ | 1 | Gaurav | | 1 | Aarav | | 1 | Harshit | | 1 | Gaurav | +----------+---------+ 4 rows in set (0.00 sec)
উপরোক্ত রেজাল্ট সেট থেকে দেখা যায় যে GROUP BY ক্লজের সাহায্যে আমরা অর্থবহ আউটপুট পেয়েছি।