Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

आउटपुट को अनुकूलित करने के लिए MySQL COALESCE () फ़ंक्शन का उपयोग MySQL SUM () फ़ंक्शन के साथ कैसे किया जा सकता है?


जब MySQL SUM() फंक्शन को एक कॉलम मिलता है, जिसमें कोई वैल्यू नहीं है, एक तर्क है तो यह आउटपुट के रूप में 0 के बजाय NULL लौटाएगा। लेकिन अगर हम आउटपुट के रूप में 0 दिखाने के लिए इस आउटपुट को कस्टमाइज़ करना चाहते हैं तो हम MySQL COALESCE() फ़ंक्शन का उपयोग कर सकते हैं जो दो तर्कों को स्वीकार करता है और दूसरा तर्क देता है यदि पहला तर्क NULL है, अन्यथा, यह पहला तर्क देता है। इसे स्पष्ट करने के लिए, हम निम्नलिखित डेटा वाली 'निविदा' तालिका का उदाहरण ले रहे हैं -

mysql> Select * from tender;

+----+---------------+--------------+
| Sr | CompanyName   | Tender_value |
+----+---------------+--------------+
| 1  | Abc Corp.     | 250.369003   |
| 2  | Khaitan Corp. | 265.588989   |
| 3  | Singla group. | 220.255997   |
| 4  | Hero group.   | 221.253006   |
| 5  | Honda group   | NULL         |
+----+---------------+--------------+

5 rows in set (0.00 sec)

MySQL SUM() फ़ंक्शन NULL लौटाता है जब हम 'होंडा ग्रुप' द्वारा उद्धृत कुल निविदा मूल्य को खोजने का प्रयास करते हैं क्योंकि इसका कॉलम में कोई मूल्य नहीं है।

mysql> Select SUM(Tender_value) From Tender Where CompanyName = 'Honda Group';

+-------------------+
| SUM(Tender_value) |
+-------------------+
|              NULL |
+-------------------+

1 row in set (0.00 sec)

लेकिन, मान लीजिए अगर हम इस आउटपुट को NULL से 0 तक कस्टमाइज़ करना चाहते हैं तो हम 'होंडा ग्रुप' द्वारा उद्धृत कुल टेंडर वैल्यू को खोजने के लिए SUM() के साथ COALESCE फ़ंक्शन का उपयोग कर सकते हैं।

mysql> Select COALESCE(SUM(Tender_value),0) From Tender Where CompanyName = 'Honda Group';

+-------------------------------+
| COALESCE(SUM(Tender_value),0) |
+-------------------------------+
|                      0.000000 |
+-------------------------------+

1 row in set (0.00 sec)

अब, MySQL SUM () फ़ंक्शन 0 देता है जब हम 'मोहन' द्वारा टाइप किए गए पृष्ठों की कुल संख्या को खोजने के लिए SUM() के साथ COALESCE फ़ंक्शन का उपयोग करते हैं, वह नाम जो 'नाम' कॉलम में नहीं है -

mysql> SELECT COALESCE(SUM(daily_typing_pages),0) FROM employee_tbl WHERE Name = ‘Mohan’;

+-------------------------+
| SUM(daily_typing_pages) |
+-------------------------+
|                       0 |
+-------------------------+

1 row in set (0.00 sec)

उपरोक्त परिणाम सेट से, यह स्पष्ट है कि यदि डेटा प्रकार के बावजूद कॉलम में कोई मान नहीं होगा तो MySQL SUM() फ़ंक्शन NULL लौटाएगा।


  1. MySQL REPLACE () फ़ंक्शन का उपयोग WHERE क्लॉज के साथ कैसे किया जा सकता है?

    जैसा कि हम जानते हैं कि MySQL क्वेरी में कंडीशन/एस डालने के लिए WHERE क्लॉज का उपयोग किया जाता है और MySQL उन शर्तों के आधार पर परिणाम सेट करता है। इसी तरह जब हम WHERE क्लॉज के साथ REPLACE () फ़ंक्शन का उपयोग करते हैं, तो परिणाम सेट प्रदान की गई शर्तों पर निर्भर करेगा। निम्नलिखित छात्र तालिका से डेट

  1. मैं MySQL IN () फ़ंक्शन का उपयोग करके कॉलम के नाम के साथ की गई तुलना के आधार पर आउटपुट कैसे प्राप्त कर सकता हूं?

    इस परिदृश्य में, हमें कॉलम के नाम को एक्सप्रेशन के रूप में उपयोग करने की आवश्यकता है, जिसे बाद में सूची में मूल्यों के साथ तुलना की जाएगी। यदि किसी स्तंभ का मान सूची के भीतर मेल खाता है, तो आउटपुट का उत्पादन किया जाएगा। इसे समझने के लिए, निम्न डेटा वाले कर्मचारी तालिका के उदाहरण पर विचार करें - mysq

  1. MySQL के साथ महीने में तालिका में मानों का योग कैसे करें?

    इसके लिए, EXTRACT () का उपयोग करें, जो आपको विशिष्ट महीने के रिकॉर्ड निकालने की अनुमति देगा। उदाहरण के लिए, जनवरी में सभी कीमतों को जोड़ने के लिए (वर्ष चाहे जो भी हो)। आइए पहले एक − . बनाएं );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.53 सेकंड) इंसर्ट का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTabl