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

MySQL में फ़ील्ड मान के आधार पर योग कैसे करें?

MySQL में SUM() और CASE से सशर्त योग करें

फ़ील्ड मानों के आधार पर योग करने के लिए, एग्रीगेट फ़ंक्शन SUM() के साथ CASE स्टेटमेंट का उपयोग करें। आइए पहले एक टेबल बनाते हैं:

mysql> create table DemoTable
(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Price int,
    isValidCustomer boolean,
    FinalPrice int
); Query OK, 0 rows affected (0.23 sec)

इन्सर्ट कमांड से टेबल में कुछ रिकॉर्ड डालें:

mysql> insert into DemoTable(Price,isValidCustomer,FinalPrice) values(20,false,40); Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable(Price,isValidCustomer,FinalPrice) values(45,true,10); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(Price,isValidCustomer,FinalPrice) values(89,true,50); Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable(Price,isValidCustomer,FinalPrice) values(200,false,100); Query OK, 1 row affected (0.06 sec)

सेलेक्ट स्टेटमेंट से टेबल के सभी रिकॉर्ड प्रदर्शित करें:

mysql> select *from DemoTable;

आउटपुट:

+----+-------+-----------------+------------+
| Id | Price | isValidCustomer | FinalPrice |
+----+-------+-----------------+------------+
| 1  | 20    | 0               | 40         |
| 2  | 45    | 1               | 10         |
| 3  | 89    | 1               | 50         |
| 4  | 200   | 0               | 100        |
+----+-------+-----------------+------------+
4 rows in set (0.00 sec)

MySQL में फ़ील्ड मान के आधार पर योग करने का क्वेरी। यहां FALSE (0) के लिए FinalPrice जुड़ेगा, जबकि TRUE (1) के लिए Price जुड़ेगा:

mysql> select sum(case when isValidCustomer=true then Price else FinalPrice end) as TotalPrice from DemoTable;

आउटपुट:

+------------+
| TotalPrice |
+------------+
| 274        |
+------------+
1 row in set (0.00 sec)

गणना: पंक्ति 1: false → FinalPrice=40, पंक्ति 2: true → Price=45, पंक्ति 3: true → Price=89, पंक्ति 4: false → FinalPrice=100। कुल = 40+45+89+100 = 274।

  1. - MySQL में उपयोगकर्ता वेरिएबल से दो फील्ड मानों को कैसे स्वैप करें?

    MySQL में दो कॉलम मान स्वैप करना: उपयोगकर्ता वेरिएबल का उपयोग MySQL में एक ही पंक्ति के दो कॉलम मानों को स्वैप करने के लिए उपयोगकर्ता वेरिएबल (@var) का उपयोग करके अस्थायी भंडारण किया जा सकता है। उदाहरण: Id=2 वाली पंक्ति में Number1 और Number2 स्वैप करें टेबल बनाएं: CREATE TABLE DemoTable ( Id I

  1. - MySQL में शर्त के आधार पर कॉलम का SUM कैसे निकालें

    WHERE क्लॉज के साथ कंडीशनल SUM आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( CustomerId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, ProductAmount INT, CustomerCountryName VARCHAR(10) ); रिकॉर्ड्स इन्सर्ट करें: mysql> INSERT INTO DemoTable (ProductAmount, CustomerCountryN

  1. - MySQL में यूज़र-डिफ़ाइन्ड वेरिएबल से एक कॉलम का मान दूसरे कॉलम से प्राप्त करें

    MySQL में यूज़र-डिफ़ाइन्ड वेरिएबल (@var) का उपयोग करके पिछली पंक्ति के मान के आधार पर वर्तमान पंक्ति के लिए चल योग (क्यूमुलेटिव सम) या अन्य व्युत्पन्न मान की गणना कर सकते हैं। टेबल बनाएं mysql> CREATE TABLE DemoTable1868 (Value INT); डेटा डालें mysql> INSERT INTO DemoTable1868 VALUES(10), (2