The Sum() হল MySQL-এর একটি সমষ্টিগত ফাংশন৷ আপনি যদি কন্ডিশনের সাথে যোগ কোয়েরি ব্যবহার করতে পারেন। যদি কন্ডিশন সহ যোগফলের প্রশ্ন বোঝার জন্য, আসুন একটি টেবিল তৈরি করি।
একটি টেবিল তৈরি করার জন্য ক্যোয়ারী −
mysql> সারণি তৈরি করুন SumWithIfCondition −> ( −> ModeOfPayment varchar(100) −> , −> Amount int −> ); কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (1.60 সেকেন্ড)
সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান। প্রশ্নটি নিম্নরূপ -
SumWithIfCondition মানগুলিতেmysql> সন্নিবেশ করান )mysql> SumWithIfCondition মান ('অফলাইন',20); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.13 সেকেন্ড) mysql> SumWithIfCondition মানগুলিতে সন্নিবেশ করুন ('Online',200); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.16 সেকেন্ড)> SumWithIfCondition মান ('অফলাইন',30); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.11 সেকেন্ড) mysql> SumWithIfCondition মানগুলিতে সন্নিবেশ করুন ('Online',300); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.17 সেকেন্ড)
সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -
SumWithIfCondition থেকেmysql> নির্বাচন করুন;
নিচের আউটপুট −
+---------------+---------+| মোডঅফপেমেন্ট | পরিমাণ |+---------------+---------+| অফলাইন | 10 || অনলাইন | 100 || অফলাইন | 20 || অনলাইন | 200 || অফলাইন | 30 || অনলাইন | 300 |+---------------+---------+6 সারি সেটে (0.00 সেকেন্ড)
এখানে একটি সংরক্ষিত পদ্ধতি রয়েছে যা একটি স্ট্রিংকে একটি প্যারামিটার হিসাবে নেয় −
mysql> ডিলিমিটার //mysql> পদ্ধতি তৈরি করুন sp_GetSumWithPaymentMode11(PaymentMode varchar(200))-> begin−> Sum-Condition থেকে TotalAmount হিসাবে PaymentMode,sum(if(ModeOfPayment=PaymentMode,Amount,0)) নির্বাচন করুন; /কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.32 সেকেন্ড)mysql> বিভেদক;
এখন আপনি কল কমান্ড ব্যবহার করে সঞ্চিত পদ্ধতিতে কল করতে পারেন।
কেস 1 − অনলাইনের জন্য
প্রশ্নটি নিম্নরূপ -
mysql> কল sp_GetSumWithPaymentMode11('অনলাইন');
নিচের আউটপুট −
<প্রে>+------------+------------+| পেমেন্টমোড | মোট পরিমাণ |+------------+-------------+| অনলাইন | 600 |+------------+------------+1 সারি সেটে (0.00 সেকেন্ড) কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত হয়েছে (0.01 সেকেন্ড)প্রে>কেস 2 − অফলাইনের জন্য
প্রশ্নটি নিম্নরূপ -
mysql> কল sp_GetSumWithPaymentMode11('অফলাইন');
নিচের আউটপুট −
<প্রে>+------------+------------+| পেমেন্টমোড | মোট পরিমাণ |+------------+-------------+| অফলাইন | 60 |+------------+---------------+1 সারি সেটে (0.00 সেকেন্ড) কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত হয়েছে (0.01 সেকেন্ড)প্রে>