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

MySQL-এ WHERE এবং HAVING ক্লজের পার্থক্য

WHERE vs HAVING: সারি ফিল্টার vs গ্রুপ ফিল্টার

  • WHERE: 개별 সারি (row) ফিল্টার করে। এগრিগেট ফাংশন (SUM, COUNT ইত্যাদি) ব্যবহার করা যায় না।
  • HAVING: গ্রুপ বা এগরিগেট ফলাফল ফিল্টার করে। এগরিগেট ফাংশন ব্যবহার করা যায়।

উদাহরণ টেবিল

mysql> CREATE TABLE WhereDemo (Price INT);
mysql> INSERT INTO WhereDemo VALUES (100), (200), (300), (400);

HAVING সহ এগরিগেট

mysql> SELECT SUM(Price) FROM WhereDemo HAVING SUM(Price) > 500;
+------------+
| SUM(Price) |
+------------+
| 1000       |
+------------+

WHERE সহ এগরিগেট (এরর)

mysql> SELECT SUM(Price) FROM WhereDemo WHERE SUM(Price) > 200;
ERROR 1111 (HY000): Invalid use of group function

নियम: গ্রুপিং (GROUP BY) করার আগে ফিল্টার = WHERE; গ্রুপিং/এগরিগেশন পর ফিল্টার = HAVING।

  1. MySQL ডেটাবেস ফাইলগুলো কোথায় স্টোর থাকে? (@@datadir)

  2. Windows-এ MySQL টেবিল ডেটা কোথায় সংরক্ষিত থাকে?

  3. MySQL-এ WHERE ক্লজে তারিখ বিয়োগ করে রো সিলেক্ট করা

  4. MySQL-এ WHERE IN ক্লজে NULL হ্যান্ডলিং