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

MySQL में एक क्वेरी से शून्य, NULL और शून्य/NULL को छोड़कर विशिष्ट मान गिनें

सशर्त SUM के साथ एकाधिक गणना एक साथ

एक ही क्वेरी में NULL मानों की संख्या, शून्य मानों की संख्या, और शून्य/NULL को छोड़कर विशिष्ट मानों की संख्या गिनने के लिए सशर्त SUM() का उपयोग करें।

टेबल और डेटा

mysql> CREATE TABLE DemoTable(
    Value INT
);
Query OK, 0 rows affected (1.35 sec)
mysql> INSERT INTO DemoTable VALUES(10);
Query OK, 1 row affected (0.30 sec)
mysql> INSERT INTO DemoTable VALUES(NULL);
Query OK, 1 row affected (0.29 sec)
mysql> INSERT INTO DemoTable VALUES(10);
Query OK, 1 row affected (0.59 sec)
mysql> INSERT INTO DemoTable VALUES(0);
Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO DemoTable VALUES(20);
Query OK, 1 row affected (0.27 sec)
mysql> INSERT INTO DemoTable VALUES(10);
Query OK, 1 row affected (0.70 sec)
mysql> INSERT INTO DemoTable VALUES(0);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable VALUES(NULL);
Query OK, 1 row affected (0.16 sec)

सभी रिकॉर्ड

mysql> SELECT * FROM DemoTable;
+-------+
| Value |
+-------+
| 10    |
| NULL  |
| 10    |
| 0     |
| 20    |
| 10    |
| 0     |
| NULL  |
+-------+
8 rows in set (0.00 sec)

एक क्वेरी में तीनों गणना

mysql> SELECT 
    SUM(Value IS NULL) AS NumberOfNull,
    SUM(Value = 0) AS NumberOfZero,
    COUNT(DISTINCT Value > 0) AS ValueExceptZeroAndNull 
    FROM DemoTable;

परिणाम:

+--------------+--------------+------------------------+
| NumberOfNull | NumberOfZero | ValueExceptZeroAndNull |
+--------------+--------------+------------------------+
| 2            | 2            | 2                      |
+--------------+--------------+------------------------+
1 row in set (0.00 sec)

व्याख्या: Value IS NULL और Value = 0 बूलियन अभिव्यक्तियां हैं जो TRUE (1) या FALSE (0) लौटाती हैं। SUM() उन्हें जोड़ देता है। COUNT(DISTINCT Value > 0) सकारात्मक अद्वितीय मान गिनता है (10 और 20 = 2)।

  1. - MySQL में अलग-अलग टेबल से NOT NULL मानों की गिनती एक क्वेरी में

    सबक्वेरी से कई टेबल की नॉन-NULL गिनती COUNT(column) NULL मानों को स्वचालित रूप से बाहर करता है। सबक्वेरी के साथ कई टेबल की गिनती एक साथ प्राप्त करें। पहली टेबल INSERT INTO DemoTable1 VALUES(1), (NULL), (2), (3); दूसरी टेबल INSERT INTO DemoTable2 VALUES(10), (NULL), (NULL); एक क्वेरी में दोनों

  1. - MySQL में UNION का उपयोग करके तीन कॉलम्स से विशिष्ट मानों को एक कॉलम में संयोजित करें

    MySQL में UNION का उपयोग करके कई कॉलम्स को एक कॉलम में संयोजित करना जब आपको एक ही टेबल के कई कॉलम्स से विशिष्ट (DISTINCT) मानों को एक ही परिणाम कॉलम में संयोजित करने की आवश्यकता होती है, तो UNION (या UNION ALL) का उपयोग करें। टेबल बनाना ); Query OK, 0 rows affected (0.69 sec) डेटा डालना (NULL मान

  1. - MySQL में GROUP_CONCAT और CONCAT के साथ DISTINCT का उपयोग करके एकल कॉलम के मानों को कोट कैसे करें?

    इसके लिए, आप replace() के साथ group_concat() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1799 ( EmployeeId varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1799 values