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

MySQL में कई कॉलम के लिए मान की गिनती कैसे करें?


CASE स्टेटमेंट से बहु-कॉलम मान गिनती

MySQL में कई कॉलम में किसी विशिष्ट मान की कुल घटनाएँ गिनने के लिए CASE स्टेटमेंट के साथ SUM() का उपयोग करें।

उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE countValueMultipleColumnsDemo (
    -> Value1 INT, Value2 INT, Value3 INT
    -> );

डेटा इन्सर्ट करें:

mysql> INSERT INTO countValueMultipleColumnsDemo VALUES(10, 15, 10), (20, 30, 10), (40, 10, 60);

सभी रिकॉर्ड:

+--------+--------+--------+
| Value1 | Value2 | Value3 |
+--------+--------+--------+
| 10     | 15     | 10     |
| 20     | 30     | 10     |
| 40     | 10     | 60     |
+--------+--------+--------+

मान 10 की कुल गिनती (सभी कॉलम में)

mysql> SELECT 
    -> SUM(CASE WHEN Value1 = 10 THEN 1 ELSE 0 END) +
    -> SUM(CASE WHEN Value2 = 10 THEN 1 ELSE 0 END) +
    -> SUM(CASE WHEN Value3 = 10 THEN 1 ELSE 0 END) AS TOTAL_COUNT
    -> FROM countValueMultipleColumnsDemo;

परिणाम:

+-------------+
| TOTAL_COUNT |
+-------------+
| 4           |
+-------------+

गणना विवरण:

  • Value1 में 10: 1 बार (पंक्ति 1)
  • Value2 में 10: 1 बार (पंक्ति 3)
  • Value3 में 10: 2 बार (पंक्ति 1, 2)
  • कुल: 1 + 1 + 2 = 4

साफ सिंटैक्स (MySQL 8.0+)

SELECT 
    SUM((Value1 = 10) + (Value2 = 10) + (Value3 = 10)) AS TOTAL_COUNT
FROM countValueMultipleColumnsDemo;

MySQL में बूलियन TRUE=1, FALSE=0 होता है, इसलिए सीधे जोड़ सकते हैं।

डायनामिक कॉलम के लिए (UNPIVOT पैटर्न)

SELECT SUM(cnt) FROM (
    SELECT COUNT(*) AS cnt FROM countValueMultipleColumnsDemo WHERE Value1 = 10
    UNION ALL
    SELECT COUNT(*) FROM countValueMultipleColumnsDemo WHERE Value2 = 10
    UNION ALL
    SELECT COUNT(*) FROM countValueMultipleColumnsDemo WHERE Value3 = 10
) AS sub;

उपयोग केस: सर्वे डेटा विश्लेषण, मल्टीपल चॉइस उत्तर गिनती, टैग फ्रीक्वेंसी।

  1. - MySQL में एकाधिक कॉलम पर एकाधिक COUNT करें

    SUM(IF()) के साथ एक क्वेरी में एकाधिक कॉलम की सशर्त गणना एक ही क्वेरी में अलग-अलग कॉलम पर अलग-अलग शर्तों की गणना करने के लिए SUM(IF(condition, 1, 0)) पैटर्न का उपयोग करें। टेबल और डेटा CREATE TABLE DemoTable ( FirstName VARCHAR(100), LastName VARCHAR(100) ); Query OK, 0 rows affected (2.80

  1. - MySQL में UNION ALL का उपयोग करके कस्टम कॉलम्स के लिए एकाधिक मान सेट करें

    MySQL में UNION ALL का उपयोग करके व्युत्पन्न कॉलम मान उत्पन्न करना UNION ALL का उपयोग करके आप एक ही टेबल पर अलग-अलग गणनाएँ कर सकते हैं और परिणामों को लंबवत रूप से संयोजित कर सकते हैं, जिससे प्रभावी रूप से प्रत्येक मूल पंक्ति के लिए कई व्युत्पन्न पंक्तियाँ बनती हैं। टेबल बनाना ); Query OK, 0 rows a

  1. - MySQL में विशिष्ट मान वाले कॉलम की संख्या कैसे गिनें?

    SUM() के साथ गणना बाइनरी मान (0/1) वाले कॉलम के लिए: select sum(value1+value2+value3) as `Total_Number_Of_1`, sum(value1 and value2 and value3) as `Total_Number_Of_Rows_With_1` from yourTableName; उदाहरण insert into demo36(value1,value2,value3) values(1,0,0), (1,0,1), (1,1,1), (0,1,0), (