কম্পিউটার টিউটোরিয়াল

MySQL-এ WHERE ক্লজে SUM() ফলাফল ব্যবহার না করে HAVING ব্যবহার করা

MySQL-এ এগরিক ফাংশন (যেমন SUM()) এর ফলাফল WHERE ক্লজে সরাসরি ব্যবহার করা যায় না। এর পরিবর্তে HAVING ক্লজ ব্যবহার করতে হয়।

টেবিল তৈরি ও ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable (Name VARCHAR(50), Price INT);
mysql> INSERT INTO DemoTable VALUES ('Chris', 30), ('David', 40), ('Chris', 10), ('Mike', 44), ('David', 5);

HAVING ক্লজ ব্যবহার করে কোয়েরি

mysql> SELECT Name, SUM(Price) AS Total_Price
       FROM DemoTable
       GROUP BY Name
       HAVING Total_Price > 40;

ফলাফল:

+-------+-------------+
| Name  | Total_Price |
+-------+-------------+
| David |          45 |
| Mike  |          44 |
+-------+-------------+

ব্যাখ্যা: GROUP BY Name দিয়ে প্রতিটি নামের টোটাল প্রাইস বের করা হয়েছে। HAVING Total_Price > 40 দিয়ে যাদের টোটাল ৪০ এর বেশি, শুধু তাদের দেখানো হয়েছে। WHERE এখানে কাজ করত না কারণ সেটি গ্রুপিংয়ের আগে ফিল্টার করে।

  1. MySQL SUM() ফাংশন HAVING ক্লজসহ কীভাবে ব্যবহার করবেন?

  2. MySQL SUM() ফাংশন GROUP BY ক্লজসহ ব্যবহারের সুবিধা কী?

  3. MySQL-এ SUM() এবং IF() একসাথে ব্যবহার করা যায় কিনা?

  4. MySQL CASE স্টেটমেন্টের ভিতরে WHERE ক্লজ ব্যবহার করা সম্ভব কি?