MySQL-এ একই ID 가진 রোদের কোনো নুমেরিক কলাম (যেমন price) যোগফল বের করতে GROUP BY এবং HAVING ব্যবহার করা হয়।
উদাহরণ
টেবিল তৈরি:
CREATE TABLE demo84 (id INT, price INT); INSERT INTO demo84 VALUES (1, 2000), (1, 2000), (2, 1800), (2, 2200), (3, 1700);
টেবিলের ডেটা:
+------+-------+ | id | price | +------+-------+ | 1 | 2000 | | 1 | 2000 | | 2 | 1800 | | 2 | 2200 | | 3 | 1700 | +------+-------+
কোয়েরি
ID অনুযায়ী গ্রুপ করে price যোগফল, এবং যোগফল ২০০০ বা তার বেশি হলে দেখাও:
SELECT id, SUM(price) AS Total FROM demo84 GROUP BY id HAVING SUM(price) >= 2000;
আউটপুট
+------+-------+ | id | Total | +------+-------+ | 1 | 4000 | | 2 | 4000 | +------+-------+
ব্যাখ্যা:
GROUP BY id- একই ID 가진 রোগুলো এক গ্রুপে।SUM(price)- প্রতিটি গ্রুপের price যোগফল।HAVING SUM(price) >= 2000- গ্রুপ ফিল্টার (WHERE হয় রো ফিল্টার, HAVING হয় গ্রুপ ফিল্টার)।- ID ১: ২০০০+২০০০=৪০০০ (>=২০০০ -> দেখানো হয়েছে)।
- ID ২: ১৮০০+২২০০=৪০০০ (>=২০০০ -> দেখানো হয়েছে)।
- ID ৩: ১৭০০ (<২০০০ -> বাদ পড়েছে)।
নোট: HAVING ক্লজে এগгреগেট ফাংশন (SUM, COUNT, AVG ইত্যাদি) ব্যবহার করা যায়, WHERE-এ ব্যবহার করা যায় না।