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

MySQL में NULL मानों की गिनती कैसे करें?

CASE स्टेटमेंट के साथ SUM() का उपयोग

MySQL में किसी कॉलम में NULL मानों की संख्या गिनने के लिए CASE स्टेटमेंट का उपयोग SUM() के साथ करें।

सिंटैक्स

SELECT SUM(CASE WHEN yourColumn IS NULL THEN 1 ELSE 0 END) AS null_count
FROM yourTableName;

उदाहरण

1. टेबल बनाना

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FirstName VARCHAR(20)
);
Query OK, 0 rows affected (0.77 sec)

2. डेटा डालना (NULL और खाली स्ट्रिंग दोनों)

mysql> INSERT INTO DemoTable(FirstName) VALUES('John');
mysql> INSERT INTO DemoTable(FirstName) VALUES(NULL);
mysql> INSERT INTO DemoTable(FirstName) VALUES('');      -- खाली स्ट्रिंग
mysql> INSERT INTO DemoTable(FirstName) VALUES('Larry');
mysql> INSERT INTO DemoTable(FirstName) VALUES('');      -- खाली स्ट्रिंग
mysql> INSERT INTO DemoTable(FirstName) VALUES(NULL);
mysql> INSERT INTO DemoTable(FirstName) VALUES(NULL);
mysql> INSERT INTO DemoTable(FirstName) VALUES('Bob');

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

mysql> SELECT * FROM DemoTable;
+----+-----------+
| Id | FirstName |
+----+-----------+
| 1  | John      |
| 2  | NULL      |
| 3  |           |
| 4  | Larry     |
| 5  |           |
| 6  | NULL      |
| 7  | NULL      |
| 8  | Bob       |
+----+-----------+
8 rows in set (0.00 sec)

4. NULL मान गिनना

mysql> SELECT SUM(CASE WHEN FirstName IS NULL THEN 1 ELSE 0 END) AS NUMBER_OF_NULL_VALUE
    FROM DemoTable;
+----------------------+
| NUMBER_OF_NULL_VALUE |
+----------------------+
| 3                    |
+----------------------+
1 row in set (0.00 sec)

NULL vs खाली स्ट्रिंग ('')

मान IS NULL = '' LENGTH()
NULL TRUE FALSE (NULL) NULL
'' (खाली स्ट्रिंग) FALSE TRUE 0
' ' FALSE FALSE 1

NULL और खाली स्ट्रिंग दोनों गिनना

SELECT 
    SUM(CASE WHEN FirstName IS NULL THEN 1 ELSE 0 END) AS null_count,
    SUM(CASE WHEN FirstName = '' THEN 1 ELSE 0 END) AS empty_count,
    SUM(CASE WHEN FirstName IS NULL OR FirstName = '' THEN 1 ELSE 0 END) AS null_or_empty
FROM DemoTable;

सरल विकल्प: COUNT(*) - COUNT(column)

SELECT COUNT(*) - COUNT(FirstName) AS null_count FROM DemoTable;

COUNT(*) सभी पंक्तियाँ गिनता है, COUNT(column) केवल NULL नहीं गिनता।

IS NULL vs = NULL

❌ गलत: WHERE column = NULL
✅ सही: WHERE column IS NULL

SQL में NULL = NULL हमेशा FALSE (वास्तव में UNKNOWN) होता है।

  1. - MySQL में विशिष्ट मान और उनकी गिनती कैसे वापस करें

    केवल विशिष्ट मान वापस करने के लिए, GROUP BY क्लॉज का उपयोग करें। पहले एक टेबल बनाते हैं: mysql> create table DemoTable754 (ProductPrice int); Query OK, 0 rows affected (0.48 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable754 values(200); Query OK, 1 ro

  1. - MySQL में COUNT DISTINCT की धीमी प्रक्रिया को कैसे तेज़ करें?

    MySQL में COUNT(DISTINCT column) क्वेरी बड़े डेटासेट पर धीमी चल सकती है। इसे तेज़ करने का सबसे प्रभावी तरीका संबंधित कॉलम पर **इंडेक्स (Index)** बनाना है। इंडेक्स डेटाबेस को विशिष्ट मानों को तेज़ी से खोजने और गिनने में सक्षम बनाता है, बिना पूरी टेबल को स्कैन किए। उदाहरण: इंडेक्स के साथ COUNT DISTIN

  1. - MySQL में IFNULL का उपयोग करके NULL मानों को 1 के रूप में प्रदर्शित/अपडेट करें

    MySQL में NULL मानों को संभालना: IFNULL() और COALESCE() MySQL में IFNULL() फ़ंक्शन का उपयोग करके आप NULL मानों को डिफ़ॉल्ट मान से बदल सकते हैं। यह लेख दिखाता है कि कैसे NULL मानों को 1 से अपडेट करें और उन्हें प्रदर्शित करें। टेबल बनाना ); Query OK, 0 rows affected (0.00 sec) NULL मानों सहित डेटा