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

MySQL में विशिष्ट रिकॉर्ड को अनदेखा करके शेष संख्यात्मक मानों का योग कैसे करें?

MySQL में WHERE क्लॉज का उपयोग करके विशिष्ट रिकॉर्ड को बाहर करके (exclude) शेष रिकॉर्ड के संख्यात्मक कॉलम का योग SUM() फ़ंक्शन से निकाला जा सकता है।

उदाहरण

तालिका बनाएं और डेटा डालें:

mysql> CREATE TABLE DemoTable (
    -> Name VARCHAR(20),
    -> Amount INT
    -> );
mysql> INSERT INTO DemoTable VALUES 
    -> ('John', 200), ('Chris', 150), ('Mike', 500), ('John', 350);

डेटा

+-------+--------+
| Name  | Amount |
+-------+--------+
| John  |    200 |
| Chris |    150 |
| Mike  |    500 |
| John  |    350 |
+-------+--------+

'John' को छोड़कर बाकी का योग

mysql> SELECT SUM(Amount) FROM DemoTable 
    -> WHERE Name != 'John';

परिणाम

+-------------+
| sum(Amount) |
+-------------+
|         650 |
+-------------+

गणना

Chris (150) + Mike (500) = 650

John के दोनों रिकॉर्ड (200 + 350 = 550) बाहर रखे गए।

विविधताएं

  • WHERE Name NOT IN ('John', 'Bob') - एकाधिक नाम बाहर करें
  • WHERE Name <> 'John' - != के समान
  • SUM(CASE WHEN Name != 'John' THEN Amount ELSE 0 END) - शर्ती योग

नोट: NULL मान SUM() द्वारा स्वचालित रूप से अनदेखे किए जाते हैं।

  1. - MySQL में REGEXP का उपयोग करके डॉट और संख्या वाले रिकॉर्ड कैसे प्राप्त करें?

    MySQL में REGEXP का उपयोग करके डॉट और संख्याओं वाले पैटर्न (जैसे संस्करण संख्या) से मेल खाने वाले रिकॉर्ड प्राप्त किए जा सकते हैं। उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Version VARCHAR(20)); mysql> INSERT INTO DemoTable VALUES (1.0.0), (2.s6.9), (1.5.0); डेटा +---------+ | Vers

  1. - MySQL में स्ट्रिंग और संख्या वाले VARCHAR रिकॉर्ड को कैसे क्रमबद्ध करें?

    MySQL में अल्फान्यूमेरिक कोड (जैसे 100A, 101J) को संख्यात्मक भाग के अनुसार क्रमबद्ध करने के लिए ORDER BY column+0, column तकनीक का उपयोग करें। समस्या स्ट्रिंग क्रम: 100A, 100B, 101J, 101S, 103M (लेक्सिकोग्राफिक) वांछित क्रम: संख्यात्मक भाग पहले, फिर अक्षर उदाहरण mysql> CREATE TABLE DemoTable (S

  1. - MySQL में MONTH() और YEAR() से विशिष्ट माह-वर्ष के रिकॉर्ड प्राप्त करें

    डेट कॉलम से माह और वर्ष निकालकर फ़िल्टर करने के लिए MySQL के MONTH() और YEAR() फ़ंक्शन का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1846 ( PurchaseDate DATE ); डेटा डालें mysql> INSERT INTO DemoTable1846 VALUES(2019-01-10); mysql> INSERT INTO DemoTable1846 VALUES(2019-12-24)