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

जब मैं SUM() फंक्शन के भीतर एक सशर्त अभिव्यक्ति का उपयोग करता हूँ तो MySQL कैसे मूल्यांकन करता है?


जैसा कि हम जानते हैं कि, SUM() फंक्शन के भीतर एक सशर्त अभिव्यक्ति का उपयोग करके हम उन पंक्तियों की संख्या प्राप्त कर सकते हैं जो शर्त को पूरा करती हैं। तो, इस मामले में, MySQL हर बार शर्त सत्य होने पर 1 और हर बार असत्य होने पर 0 का मूल्यांकन करता है।

इसे समझने के लिए, 'employee' टेबल के निम्नलिखित उदाहरण पर विचार करें, जिसमें निम्नलिखित विवरण हैं:

mysql> SELECT * FROM Employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | 20000  |
| 6  | Mohan  | 30000  |
| 7  | Aryan  | NULL   |
| 8  | Vinay  | NULL   |
+----+--------+--------+
8 rows in set (0.00 sec)

अब, मान लीजिए यदि हम 20000 से अधिक वेतन पाने वाली पंक्तियों की कुल संख्या जानना चाहते हैं तो सशर्त अभिव्यक्ति का उपयोग SUM() फंक्शन के भीतर निम्नानुसार किया जा सकता है:

mysql> SELECT SUM(Salary>20000) FROM employee568;
+-------------------+
| SUM(Salary>20000) |
+-------------------+
| 4                 |
+-------------------+
1 row in set (0.00 sec)

उपरोक्त परिणाम सेट दर्शाता है कि 4 कर्मचारियों को 20000 से अधिक वेतन मिल रहा है।


  1. - MySQL में डिफ़ॉल्ट मान के लिए फंक्शन कैसे उपयोग करें?

    MySQL में कॉलम डिफ़ॉल्ट मान के लिए फंक्शन सीधे उपयोग नहीं कर सकते (केवल स्थिर मान या CURRENT_TIMESTAMP अनुमत हैं)। समाधान: ट्रिगर उपयोग करें। समस्या -- यह काम नहीं करेगा: CREATE TABLE t (id INT DEFAULT UUID()); -- त्रुटि CREATE TABLE t (created DATETIME DEFAULT NOW()); -- केवल CURRENT_TIMESTAMP क

  1. - MySQL SELECT स्टेटमेंट में CAST फंक्शन कैसे उपयोग करें?

    CAST() से डेटा टाइप कन्वर्जन MySQL में CAST() फंक्शन किसी मान को निर्दिष्ट डेटा टाइप में बदलता है। SELECT स्टेटमेंट में इसका उपयोग डेटा प्रस्तुति या तुलना के लिए करें। सिंटैक्स CAST(expression AS target_type) लक्ष्य टाइप CHAR(N) - फिक्स्ड लंबाई स्ट्रिंग VARCHAR(N) - वेरिएबल लंबाई स्ट्रिंग SIGNED

  1. - MySQL CASE एक्सप्रेशन में OR कंडीशन कैसे उपयोग करें?

    CASE WHEN में बहु-शर्त OR लॉजिक MySQL CASE एक्सप्रेशन में OR जैसी कंडीशन के लिए प्रत्येक WHEN क्लॉज में अलग-अलग शर्तें लिखें, या OR ऑपरेटर का उपयोग करें। उदाहरण: स्कोर के आधार पर प्रदर्शन श्रेणी टेबल बनाएं: ); डेटा इन्सर्ट करें: INSERT INTO caseOrConditionDemo(Name, Score) VALUES(Larry, 85), (S