SUM(बूलियन) से सशर्त गिनती
MySQL में बूलियन अभिव्यक्ति (ClientName = 'Sam') संख्यात्मक संदर्भ में 1 (सत्य) या 0 (असत्य) होती है। SUM() से ऐसी अभिव्यक्तियों का योग = गिनती।
तालिका और डेटा
mysql> CREATE TABLE DemoTable1515 (ClientId VARCHAR(10), ClientName VARCHAR(20));
mysql> INSERT INTO DemoTable1515 VALUES
-> ('CLI-101', 'Chris'), ('CLI-110', 'David'), ('CLI-101', 'Bob'),
-> ('CLI-101', 'Sam'), ('CLI-101', 'Sam'), ('CLI-101', 'Mike'),
-> ('CLI-130', 'Mike'), ('CLI-101', 'Chris'), ('CLI-101', 'Sam');
क्वेरी: CLI-101 पर कुल और 'Sam' की गिनती
mysql> SELECT ClientId,
-> SUM(ClientName = 'Sam') AS NameOn101Id,
-> COUNT(*) AS TotalNameOn101
-> FROM DemoTable1515
-> WHERE ClientId = 'CLI-101';
परिणाम
+----------+-------------+----------------+
| ClientId | NameOn101Id | TotalNameOn101 |
+----------+-------------+----------------+
| CLI-101 | 3 | 7 |
+----------+-------------+----------------+
व्याख्या:
ClientName = 'Sam'प्रत्येक पंक्ति के लिए 1 या 0SUM(...)= सत्य पंक्तियों की गिनती = 3COUNT(*)= सभी पंक्तियाँ (WHERE के बाद) = 7COUNT(ClientName = 'Sam')भी काम करता है लेकिनSUM()अधिक मानक