MySQL-এ SUM() ফাংশনের সাথে IF শর্ত ব্যবহার করে নির্দিষ্ট শর্তে যোগফল বের করতে স্টোরড প্রসিডিউর ব্যবহার করা যায়।
টেবিল তৈরি করি:
mysql> CREATE TABLE SumWithIfCondition (
-> ModeOfPayment VARCHAR(100),
-> Amount INT
-> );
রেকর্ড যোগ করি:
mysql> INSERT INTO SumWithIfCondition VALUES('Offline', 10);
mysql> INSERT INTO SumWithIfCondition VALUES('Online', 100);
mysql> INSERT INTO SumWithIfCondition VALUES('Offline', 20);
mysql> INSERT INTO SumWithIfCondition VALUES('Online', 200);
mysql> INSERT INTO SumWithIfCondition VALUES('Offline', 30);
mysql> INSERT INTO SumWithIfCondition VALUES('Online', 300);
স্টোরড প্রসিডিউর তৈরি করি:
mysql> DELIMITER //
mysql> CREATE PROCEDURE sp_GetSumWithPaymentMode(PaymentMode VARCHAR(200))
-> BEGIN
-> SELECT PaymentMode, SUM(IF(ModeOfPayment = PaymentMode, Amount, 0)) AS TotalAmount
-> FROM SumWithIfCondition;
-> END //
mysql> DELIMITER ;
প্রসিডিউর কল করুন:
কেস ১: Online
mysql> CALL sp_GetSumWithPaymentMode('Online');
+-------------+-------------+ | PaymentMode | TotalAmount | +-------------+-------------+ | Online | 600 | +-------------+-------------+
কেস ২: Offline
mysql> CALL sp_GetSumWithPaymentMode('Offline');
+-------------+-------------+ | PaymentMode | TotalAmount | +-------------+-------------+ | Offline | 60 | +-------------+-------------+