फ़ील्ड मानों के आधार पर योग करने के लिए, CASE स्टेटमेंट के साथ एग्रीगेट फ़ंक्शन SUM () का उपयोग करें। आइए पहले एक टेबल बनाएं -
mysql> टेबल डेमोटेबल बनाएं (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Price int, isValidCustomer boolean, FinalPrice int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.23 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -
mysql> DemoTable(Price,isValidCustomer,FinalPrice) मानों(20,false,40)में डालें;क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.09 सेकंड)mysql> DemoTable(Price,isValidCustomer,FinalPrice) मानों में डालें (45, true,10);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड)mysql> डेमोटेबल (मूल्य, isValidCustomer, FinalPrice) मानों में डालें (89, true, 50); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.09 सेकंड) mysql> में डालें DemoTable(Price,isValidCustomer,FinalPrice) मान (200,false,100);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.06 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट देगा -
+-----+-----------+----------+| आईडी | कीमत | isValidCustomer | फ़ाइनलप्राइस |+----+ 1 | 20 | 0 | 40 || 2 | 45 | 1 | 10 || 3 | 89 | 1 | 50 || 4 | 200 | 0 | 100 |+-----+----------+---------------------+-----------+4 पंक्तियाँ सेट (0.00 सेकंड)
MySQL में फ़ील्ड मान के आधार पर योग करने के लिए क्वेरी निम्नलिखित है। यहां, FALSE (0) के लिए फ़ाइनलप्राइस जोड़ा जाएगा, जबकि TRUE(1) -
के लिए PRICE जोड़ा जाएगा।mysql> डेमोटेबल से TotalPrice के रूप में योग चुनें (मामला जब isValidCustomer=true तब मूल्य अन्य अंतिम मूल्य समाप्त होता है);
यह निम्नलिखित आउटपुट देगा -
<पूर्व>+---------------+| टोटलप्राइस |+---------------+| 274 |+-----------+1 पंक्ति सेट में (0.00 सेकंड)