কম্পিউটার

কিভাবে MySQL GROUP BY clause DISTINCT clause এর মত আচরণ করতে পারে?


যখন আমরা সমষ্টিগত ফাংশন ব্যবহার না করে 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 ক্যোয়ারী দ্বারা ফলাফল সেট রিটার্ন করা হয় না৷


  1. মাইএসকিউএল লাইক ক্লজে ব্যবহারকারীর ভেরিয়েবলগুলি কীভাবে ব্যবহার করবেন?

  2. কিভাবে MySQL এ লাইক দিয়ে অর্ডার করবেন?

  3. আমি কিভাবে গ্রুপে অর্ডার করতে পারি কিন্তু এলোমেলোভাবে MySQL দিয়ে?

  4. MySQL GROUP BY ক্লজে কিভাবে অর্ডার বা সারি বেছে নেবেন?