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;
उपयोग के मामले
- डैशबोर्ड रिपोर्ट जहां शून्य गिनती दिखानी हो
- पिवट टेबल जैसी रिपोर्ट
- स्थिति सारांश