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

MySQL में IF कंडीशन के साथ SUM क्वेरी कैसे करें?

शर्ती योग के लिए SUM(IF()) पैटर्न

MySQL में आप SUM(IF(condition, value_if_true, value_if_false)) का उपयोग करके केवल उन पंक्तियों का योग कर सकते हैं जो एक शर्त पूरी करती हैं।

उदाहरण टेबल

mysql> CREATE TABLE SumWithIfCondition (
    -> ModeOfPayment VARCHAR(100),
    -> Amount INT
    -> );
mysql> INSERT INTO SumWithIfCondition VALUES('Offline',10);
mysql> INSERT INTO SumWithIfCondition VALUES('Online',100);
mysql> INSERT INTO SumWithIfCondition VALUES('Offline',20);
mysql> INSERT INTO SumWithIfCondition VALUES('Online',200);
mysql> INSERT INTO SumWithIfCondition VALUES('Offline',30);
mysql> INSERT INTO SumWithIfCondition VALUES('Online',300);

सभी रिकॉर्ड:

mysql> SELECT * FROM SumWithIfCondition;
+---------------+--------+
| ModeOfPayment | Amount |
+---------------+--------+
| Offline       | 10     |
| Online        | 100    |
| Offline       | 20     |
| Online        | 200    |
| Offline       | 30     |
| Online        | 300    |
+---------------+--------+

केस 1: केवल 'Online' भुगतान का योग

mysql> SELECT SUM(IF(ModeOfPayment = 'Online', Amount, 0)) AS TotalAmount FROM SumWithIfCondition;
+-------------+
| TotalAmount |
+-------------+
| 600         |
+-------------+

केस 2: केवल 'Offline' भुगतान का योग

mysql> SELECT SUM(IF(ModeOfPayment = 'Offline', Amount, 0)) AS TotalAmount FROM SumWithIfCondition;
+-------------+
| TotalAmount |
+-------------+
| 60          |
+-------------+

वैकल्पिक: MySQL 8.0+ में आप SUM(CASE WHEN ModeOfPayment='Online' THEN Amount ELSE 0 END) भी उपयोग कर सकते हैं।

  1. - MySQL में शर्त के साथ गिनती करना

    SUM(बूलियन) से सशर्त गिनती MySQL में बूलियन अभिव्यक्ति (ClientName = Sam) संख्यात्मक संदर्भ में 1 (सत्य) या 0 (असत्य) होती है। SUM() से ऐसी अभिव्यक्तियों का योग = गिनती। तालिका और डेटा (CLI-130, Mike), (CLI-101, Chris), (CLI-101, Sam); क्वेरी: CLI-101 पर कुल और Sam की गिनती WHERE ClientId = CLI

  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड

  1. - MySQL में शर्त के आधार पर दूसरे कॉलम का योग (SUM) कैसे करें?

    MySQL में SUM() एग्रीगेट फ़ंक्शन के साथ GROUP BY क्लॉज का उपयोग करके एक कॉलम के मानों का योग दूसरी कॉलम की शर्त के आधार पर निकाला जा सकता है। उदाहरण परिदृश्य कर्मचारी वेतन डेटा को ज्वाइनिंग वर्ष और महीने के अनुसार समूहित करके कुल वेतन निकालना। तालिका और डेटा mysql> CREATE TABLE DemoTable (