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

जब कोई मिलान वाली पंक्तियाँ न हों तो MySQL SUM() फंक्शन के आउटपुट को NULL के बजाय 0 पर कैसे अनुकूलित करें?


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

mysql> SELECT * FROM employee_tbl;
+------+------+------------+--------------------+
| id   | name | work_date  | daily_typing_pages |
+------+------+------------+--------------------+
| 1    | John | 2007-01-24 | 250                |
| 2    | Ram  | 2007-05-27 | 220                |
| 3    | Jack | 2007-05-06 | 170                |
| 3    | Jack | 2007-04-06 | 100                |
| 4    | Jill | 2007-04-06 | 220                |
| 5    | Zara | 2007-06-06 | 300                |
| 5    | Zara | 2007-02-06 | 350                |
+------+------+------------+--------------------+
7 rows in set (0.00 sec)

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

mysql> SELECT COALESCE(SUM(daily_typing_pages),0) AS 'SUM(daily_typing_pages)' FROM employee_tbl WHERE Name = 'Mohan';
+-------------------------+
| SUM(daily_typing_pages) |
+-------------------------+
| 0                       |
+-------------------------+
1 row in set (0.00 sec)

  1. - MySQL में टेबल के कॉलम नाम कैसे प्राप्त करें?

    SHOW COLUMNS कमांड का उपयोग MySQL में किसी टेबल के सभी कॉलम नाम और उनकी जानकारी देखने के लिए SHOW COLUMNS कमांड का उपयोग करें। सिंटैक्स SHOW COLUMNS FROM yourTableName; उदाहरण 1. टेबल बनाना CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName VARCH

  1. - MySQL में सेट किए गए इंडेक्स को कैसे देखें?

    इंडेक्स देखने के लिए, आप SHOW कमांड का उपयोग कर सकते हैं। सिंटैक्स निम्नलिखित है: SHOW INDEX FROM yourTableName; आइए पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(20), LastName VARCHAR(20) ); इंडेक्स बनाने के लिए क्वेरी:

  1. - MySQL में SUM() फंक्शन के परिणाम का WHERE क्लॉज में उपयोग: HAVING क्लॉज का उपयोग करें

    MySQL WHERE vs HAVING: एग्रीगेट फंक्शन के परिणाम पर फ़िल्टर WHERE क्लॉज पंक्तियों को समूहित करने पहले फ़िल्टर करता है, इसलिए इसमें एग्रीगेट फंक्शन (SUM, COUNT, AVG, आदि) उपयोग नहीं कर सकते। एग्रीगेट परिणाम पर फ़िल्टर के लिए HAVING क्लॉज का उपयोग करें। उदाहरण: कुल कीमत 40 से अधिक वाले नाम टेबल बनाएं