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

MySQL में SUM() से शून्य मान वाली पंक्ति प्रदर्शित करें

MySQL में बूलियन अभिव्यक्तियों का योग करके (SUM(शर्त)) आप गिन सकते हैं कि कोई शर्त कितनी बार पूरी होती है, और शून्य मान भी प्रदर्शित कर सकते हैं।

तकनीक

MySQL में TRUE = 1 और FALSE = 0 होता है। इसलिए SUM(कॉलम = 'मान') उस मान की घटनाओं को गिनता है।

उदाहरण: सक्रिय/निष्क्रिय स्थिति गिनना

1. टेबल बनाएं

mysql> CREATE TABLE DemoTable (
    -> Status VARCHAR(20)
    -> );

2. केवल 'active' रिकॉर्ड डालें

mysql> INSERT INTO DemoTable VALUES('active');
mysql> INSERT INTO DemoTable VALUES('active');
mysql> INSERT INTO DemoTable VALUES('active');
mysql> INSERT INTO DemoTable VALUES('active');

3. दोनों स्थितियों की गिनती (निष्क्रिय = 0)

mysql> SELECT
    -> SUM(Status = 'active') AS 'CountOfActive',
    -> SUM(Status = 'inactive') AS 'CountOfInActive'
    -> FROM DemoTable;

4. परिणाम

+---------------+-----------------+
| CountOfActive | CountOfInActive |
+---------------+-----------------+
| 4             | 0               |
+---------------+-----------------+

यह कैसे काम करता है

  • Status = 'active' प्रत्येक पंक्ति के लिए 1 या 0 देता है
  • SUM() इन 1 और 0 को जोड़ता है
  • मौजूद न होने वाली स्थिति के लिए स्वचालित रूप से 0 दिखाता है

COUNT() के साथ तुलना

-- COUNT के साथ (केवल मौजूद मान)
SELECT Status, COUNT(*) FROM DemoTable GROUP BY Status;

-- SUM के साथ (सभी संभावित मान, 0 सहित)
SELECT 
    SUM(Status = 'active') AS active_count,
    SUM(Status = 'inactive') AS inactive_count,
    SUM(Status = 'pending') AS pending_count
FROM DemoTable;

उपयोग के मामले

  • डैशबोर्ड रिपोर्ट जहां शून्य गिनती दिखानी हो
  • पिवट टेबल जैसी रिपोर्ट
  • स्थिति सारांश
  1. - MySQL में AND और OR ऑपरेटर का उपयोग करके मल्टीपल रो रिकॉर्ड्स कैसे लौटाएं

    AND और OR ऑपरेटर्स को मिलाकर जटिल फ़िल्टरिंग एकाधिक शर्तों को AND और OR ऑपरेटर्स के साथ जोड़कर जटिल फ़िल्टरिंग करें। कोष्ठक () का उपयोग प्राथमिकता नियंत्रित करने के लिए करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Stu

  1. - MySQL में COALESCE से NULL पंक्ति के साथ कॉलम गुणा करें

    जब किसी संख्यात्मक कॉलम में NULL हो, तो गणना (जैसे गुणा) का परिणाम NULL हो जाता है। COALESCE() का उपयोग करके NULL को डिफ़ॉल्ट मान (जैसे 1) से बदल सकते हैं। टेबल बनाएं mysql> CREATE TABLE DemoTable1842 ( NumberOfItems INT, Amount INT ); डेटा डालें (एक पंक्ति में NULL) mysql> INSERT IN

  1. - MySQL में GROUP BY और MIN() से डुप्लिकेट कॉलम मान वाले समूह का न्यूनतम मान प्राप्त करें

    किसी कॉलम (जैसे Class) के डुप्लिकेट मान वाले समूहों में से दूसरे कॉलम (जैसे Amount) का न्यूनतम मान प्राप्त करने के लिए GROUP BY और MIN() एग्रीगेट फ़ंक्शन का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1875 ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Class VARCHAR(20), Amoun