কম্পিউটার

MySQL SELECT ক্যোয়ারীতে GROUP BY ক্লজ ছাড়া নন-গ্রুপ ফিল্ডের সাথে আমাদের কেন গ্রুপ ফাংশন ব্যবহার করা উচিত নয়?


কারণ GROUP BY ধারা ছাড়া MySQL দ্বারা প্রত্যাবর্তিত আউটপুট বিভ্রান্ত করতে পারে। আমরা নীচের 'ছাত্র' টেবিলে নিম্নলিখিত উদাহরণ দিচ্ছি, এটি প্রদর্শন করার জন্য -

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(*) এর আউটপুট প্রদান করে কিন্তু 'নাম' ক্ষেত্রের 'গৌরব' মানটি বিভ্রান্তিকর কারণ আমরা কিসের ভিত্তিতে করি? , হয় এটি কলামের প্রথম মান অথবা এটি কলামে একাধিকবার সংরক্ষিত থাকে, 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 ধারার সাহায্যে আমরা একটি অর্থপূর্ণ আউটপুট পেয়েছি।


  1. কিভাবে MySQL এর সাথে জাভাতে নির্বাচিত প্রশ্নের জন্য প্রস্তুত বিবৃতি ব্যবহার করবেন?

  2. কোথায় ধারা সহ MySQL ভিউ ব্যবহার করবেন?

  3. MySQL-এ রেগুলার এক্সপ্রেশন সহ ক্যোয়ারী নির্বাচন করুন

  4. MySQL-এ একটি সিলেক্ট ক্যোয়ারী দিয়ে সন্নিবেশ করুন