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

MySQL में COUNT() और IF() का एक साथ उपयोग करना

MySQL में COUNT() और IF() को मिलाकर सशर्त गणना करना

MySQL में आप COUNT() और IF() को मिलाकर विशिष्ट शर्तों को पूरा करने वाली पंक्तियों की गणना कर सकते हैं।

व्यावहारिक उदाहरण

तालिका बनाना

mysql> CREATE TABLE DemoTable (
    isValidUser BOOLEAN
);

रिकॉर्ड डालना (1 = true, 0 = false)

mysql> INSERT INTO DemoTable VALUES(true);
mysql> INSERT INTO DemoTable VALUES(false);
mysql> INSERT INTO DemoTable VALUES(false);
mysql> INSERT INTO DemoTable VALUES(true);
mysql> INSERT INTO DemoTable VALUES(true);
mysql> INSERT INTO DemoTable VALUES(true);
mysql> INSERT INTO DemoTable VALUES(false);

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-------------+
| isValidUser |
+-------------+
| 1           |
| 0           |
| 0           |
| 1           |
| 1           |
| 1           |
| 0           |
+-------------+

COUNT() और IF() का उपयोग करके true मानों की गणना

mysql> SELECT COUNT(IF(isValidUser = 1, 1, NULL)) 
AS TOTAL_NUMBER_OF_ONE FROM DemoTable;

आउटपुट:

+---------------------+
| TOTAL_NUMBER_OF_ONE |
+---------------------+
| 4                   |
+---------------------+

व्याख्या

  • IF(isValidUser = 1, 1, NULL) - यदि मान 1 है तो 1 लौटाता है, अन्यथा NULL
  • COUNT() - NULL मानों को नहीं गिनता, इसलिए केवल 1 की गणना होती है

आधुनिक विकल्प: MySQL 8.0+ में आप SUM(isValidUser = 1) या COUNT(*) FILTER (WHERE isValidUser = 1) का भी उपयोग कर सकते हैं।

  1. - MySQL में एक ही क्वेरी से दो टेबल्स की पंक्तियों को कैसे काउंट करें

    सबक्वेरीज़ के साथ दो टेबल्स की रो काउंट एक साथ प्राप्त करना एक ही क्वेरी में दो अलग-अलग टेबल्स की पंक्ति संख्या गिनने के लिए सबक्वेरीज़ का उपयोग करें। पहली टेबल बनाएं: mysql> CREATE TABLE DemoTable1 ( Name VARCHAR(40) ); रिकॉर्ड्स इन्सर्ट करें: mysql> INSERT INTO DemoTable1 VALUES (Chris);

  1. - MySQL क्वेरी में COUNT के साथ CASE शर्त का उपयोग कैसे करें

    COUNT() के अंदर CASE WHEN का उपयोग करके सशर्त गिनती MySQL में इसके लिए CASE WHEN का उपयोग करें और COUNT() मेथड के अंदर CASE शर्त सेट करें। पहले टेबल बनाएं: create table DemoTable1374 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Score int ); Query OK, 0 rows affected (0.61 sec) रि

  1. - MySQL में ORDER BY FIELD और ID से कस्टम सॉर्ट और द्वितीयक सॉर्ट

    MySQL में ORDER BY FIELD() का उपयोग करके एक कॉलम को कस्टम क्रम में सॉर्ट करें, फिर दूसरे कॉलम से द्वितीयक सॉर्ट लागू करें। सिंटैक्स SELECT * FROM टेबल_नाम ORDER BY FIELD(कॉलम1, मान1, मान2, ...) DESC/ASC, कॉलम2 DESC/ASC; उदाहरण: Mike को पहले रखें, फिर ID अवरोही क्रम में 1. टेबल बनाएं );