কম্পিউটার

আমরা কিভাবে MySQL দ্বারা প্রত্যাবর্তিত ফলাফল সেটকে গ্রুপে ভাগ করতে পারি?


এটি SELECT স্টেটমেন্টে GROUP BY ক্লজ ব্যবহার করে করা যেতে পারে। GROUP BY ক্লজের সাহায্যে আমরা একটি কলামকে গ্রুপিং মানদণ্ড হিসেবে নির্দিষ্ট করতে পারি। নির্দিষ্ট গ্রুপিং মানদণ্ডের কারণে, একটি নির্দিষ্ট কলামে একই মান সহ সারিগুলিকে একক গ্রুপ হিসাবে বিবেচনা করা হয়। এইভাবে, MySQL SELECT স্টেটমেন্টের দ্বারা প্রত্যাবর্তিত ফলাফল সেটগুলিকে গ্রুপে ভাগ করা হবে৷

উদাহরণ

এটি বোঝার জন্য একটি ভাল উদাহরণ নিচে দেওয়া হল -

আমাদের নিচে 'কর্মচারী' নামে একটি টেবিল আছে -

mysql> Select * from employees;
+------+-------------+--------+------------+
| id   | designation | Salary | DoJ        |
+------+-------------+--------+------------+
| 100  | Asst.Prof   | 50000  | 2016-06-15 |
| 300  | Prof        | 85000  | 2010-05-18 |
| 250  | Asso.Prof   | 74000  | 2013-02-12 |
| 400  | Prof        | 90000  | 2009-05-19 |
| 200  | Asst.Prof   | 60000  | 2015-05-11 |
+------+-------------+--------+------------+
5 rows in set (0.00 sec)

এখন নিচের স্ক্রিপ্টের সাহায্যে আমরা আউটপুটকে গ্রুপে ভাগ করব;

mysql> select designation, count(*), AVG(salary) from employees group by designation;
+-------------+----------+-------------+
| designation | count(*) | AVG(salary) |
+-------------+----------+-------------+
| Asso.Prof   | 1        | 74000.0000  |
| Asst.Prof   | 2        | 55000.0000  |
| Prof        | 2        | 87500.0000  |
+-------------+----------+-------------+
3 rows in set (0.00 sec)

উপরের ক্যোয়ারীটি Asso.Prof-এর গ্রুপে সেট করা ফলাফল প্রদান করে, মোট 1 নম্বর এবং গড় বেতন 74000, Asst.Prof, মোট 2 নম্বর এবং গড় বেতন 55000 এবং Prof, সংখ্যায় মোট 2 এবং গড় বেতন 87500 .


  1. মাইএসকিউএল-এ আমি যে সূচীগুলি সেট আপ করেছি তা আমি কীভাবে দেখতে পারি?

  2. কিভাবে MySQL ফলাফল নির্দিষ্ট হিসাবে একই সেট করা যায়?

  3. একটি ভেরিয়েবলে একটি মাইএসকিউএল কোয়েরির ফলাফল কীভাবে বরাদ্দ করবেন?

  4. আপনি কিভাবে MySQL এ নির্বাচিত প্রশ্নের মাধ্যমে প্রাপ্ত ফলাফল অর্ডার করতে পারেন?