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

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

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

इसे समझने के लिए Tender टेबल के निम्न डेटा का उपयोग करते हैं:

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)

SUM() फंक्शन 'Honda Group' द्वारा कोट किए गए कुल टेंडर वैल्यू को खोजते समय 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 में कस्टमाइज़ करना चाहते हैं, तो COALESCE फंक्शन का उपयोग SUM() के साथ कर सकते हैं।

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)

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

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 क्लॉज के साथ कैसे उपयोग करें?

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

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

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

  1. - MySQL में महीने के अनुसार टेबल में मानों का योग कैसे करें

    EXTRACT(MONTH FROM ...) और GROUP BY के साथ मासिक योग इसके लिए EXTRACT() का उपयोग करें, जो विशिष्ट महीने के रिकॉर्ड निकालने की अनुमति देता है। उदाहरण के लिए, जनवरी में सभी कीमतों को जोड़ना (वर्ष की परवाह किए बिना)। पहले टेबल बनाएं: create table DemoTable1415 ( ProductPurchaseDate date, ProductPrice