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

MySQL-এ HAVING ক্লজ দিয়ে গোষ্ঠীর গড় (AVG) ফিল্টার ও সাজানো

WHERE না, HAVING ব্যবহার করুন

এগريغেট ফাংশন (যেমন AVG()) এর ফলাফলে ফিল্টার লাগাতে WHERE কাজ করে না; HAVING ব্যবহার করতে হয়। GROUP BY এর পরে HAVING লাগে।

উদাহরণ

mysql> CREATE TABLE DemoTable1338 (Name VARCHAR(10), Score INT);

mysql> INSERT INTO DemoTable1338 VALUES 
('Chris', 8), ('Bob', 4), ('Bob', 9), ('Chris', 6), ('David', 5), ('David', 7);

mysql> SELECT * FROM DemoTable1338;

কুয়েরি: গড় ৯.৫ এর কম olan নামগুলো গড় অনুযায়ী সাজিয়ে

mysql> SELECT Name, AVG(Score) FROM DemoTable1338
GROUP BY Name
HAVING AVG(Score) < 9.5
ORDER BY AVG(Score);

ফলাফল

+-------+------------+
| Name  | avg(Score) |
+-------+------------+
| David | 6.0000     |
| Bob   | 6.5000     |
| Chris | 7.0000     |
+-------+------------+

ব্যাখ্যা: GROUP BY Name দিয়ে নাম ভিত্তিক গোষ্ঠী। HAVING AVG(Score) < 9.5 গোষ্ঠীর গড় ফিল্টার করে। ORDER BY AVG(Score) গড় অনুযায়ী সাজায়। WHERE সারি-লেভেল ফিল্টার, HAVING গোষ্ঠী-লেভেল ফিল্টার।

  1. MySQL-এ ডুপ্লিকেট আইডির গড় বের করে সর্বোচ্চ গড়見せ वाले আইডি খুঁজে বের করা (HAVING AVG)

  2. MySQL-এ WHERE ক্লজে AND ব্যবহার করে নির্দিষ্ট রেকর্ড ডিলিট করা

  3. MySQL에서 중복 튜플 찾기와 개수 세기 (GROUP BY HAVING)

  4. MySQL-এ GROUP BY HAVING ব্যবহার করে ডুপ্লিকেট কলাম মান বের করা