Sum() MySQL में एक समग्र कार्य है। यदि आप शर्त के साथ योग क्वेरी का उपयोग कर सकते हैं। if कंडीशन के साथ सम क्वेरी को समझने के लिए, आइए एक टेबल बनाएं।
तालिका बनाने की क्वेरी -
mysql> तालिका बनाएं SumWithIfCondition −> ( −> ModeOfPayment varchar(100) −> , −> राशि int −>);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.60 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> SumWithIfCondition मानों में डालें ('ऑफ़लाइन', 10); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) mysql> SumWithIfCondition मानों में डालें ('ऑनलाइन', 100); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) )mysql> SumWithIfCondition मानों ('ऑफ़लाइन', 20) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> SumWithIfCondition मानों में डालें ('ऑनलाइन', 200); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> SumWithIfCondition मानों ('ऑफ़लाइन', 30) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> SumWithIfCondition मानों ('ऑनलाइन', 300) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> SumWithIfCondition से *चुनें;
निम्न आउटपुट है -
<पूर्व>+---------------+----------+| मोडऑफपेमेंट | राशि |+---------------+----------+| ऑफलाइन | 10 || ऑनलाइन | 100 || ऑफलाइन | 20 || ऑनलाइन | 200 || ऑफलाइन | 30 || ऑनलाइन | 300 |+---------------+----------+6 पंक्तियाँ सेट में (0.00 सेकंड)यहां संग्रहीत कार्यविधि है जो एक स्ट्रिंग को एक पैरामीटर के रूप में लेती है -
mysql> सीमांकक //mysql> प्रक्रिया बनाएं sp_GetSumWithPaymentMode11(PaymentMode varchar(200))−> start−> PaymentMode का चयन करें, sum(if(ModeOfPayment=PaymentMode,Amount,0)) SumWithIfCondition से TotalAmount के रूप में;−> समाप्त / /क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.32 सेकंड)mysql> सीमांकक;
अब आप कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को कॉल कर सकते हैं।
केस 1 - ऑनलाइन के लिए
क्वेरी इस प्रकार है -
mysql> कॉल करें sp_GetSumWithPaymentMode11('Online');
निम्न आउटपुट है -
<पूर्व>+---------------+---------------+| भुगतान मोड | टोटलअमाउंट |+---------------+---------------+| ऑनलाइन | 600 |+---------------+---------------+1 पंक्ति सेट में (0.00 सेकंड)क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.01 सेकंड)पूर्व>केस 2 - ऑफलाइन के लिए
क्वेरी इस प्रकार है -
mysql> कॉल करें sp_GetSumWithPaymentMode11('Offline');
निम्न आउटपुट है -
<पूर्व>+---------------+---------------+| भुगतान मोड | कुल राशि |+---------------+---------------+| ऑफलाइन | 60 |+----------------+---------------+1 पंक्ति सेट में (0.00 सेकंड)क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.01 सेकंड)पूर्व>