MySQL में प्रत्येक पंक्ति के लिए नॉन-ज़ीरो (या नॉन-NULL) कॉलम्स की संख्या गिनने के लिए IF() फ़ंक्शन का उपयोग करके सशर्त गिनती की जा सकती है।
उदाहरण के लिए टेबल बनाना
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Number1 INT, Number2 INT
);
डेटा डालना
mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(10, 20), (0, 32), (40, 0), (40, 50);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+----+---------+---------+ | Id | Number1 | Number2 | +----+---------+---------+ | 1 | 10 | 20 | | 2 | 0 | 32 | | 3 | 40 | 0 | | 4 | 40 | 50 | +----+---------+---------+
प्रति-पंक्ति नॉन-ज़ीरो कॉलम्स गिनना
mysql> SELECT *,
-> IF(Number1 <> 0, 1, 0) + IF(Number2 <> 0, 1, 0) AS TotalCount
-> FROM DemoTable;
आउटपुट
+----+---------+---------+------------+ | Id | Number1 | Number2 | TotalCount | +----+---------+---------+------------+ | 1 | 10 | 20 | 2 | | 2 | 0 | 32 | 1 | | 3 | 40 | 0 | 1 | | 4 | 40 | 50 | 2 | +----+---------+---------+------------+
व्याख्या: IF(condition, trueVal, falseVal) शर्त पूरी होने पर trueVal अन्यथा falseVal लौटाता है। प्रत्येक कॉलम के लिए 1 या 0 जोड़कर गिनती प्राप्त होती है। NULL के लिए IS NOT NULL उपयोग करें।