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

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

SUM(IF()) के साथ एक क्वेरी में एकाधिक कॉलम की सशर्त गणना

एक ही क्वेरी में अलग-अलग कॉलम पर अलग-अलग शर्तों की गणना करने के लिए SUM(IF(condition, 1, 0)) पैटर्न का उपयोग करें।

टेबल और डेटा

mysql> CREATE TABLE DemoTable (
    FirstName VARCHAR(100),
    LastName VARCHAR(100)
);
Query OK, 0 rows affected (2.80 sec)
mysql> INSERT INTO DemoTable VALUES('Adam','Smith');
Query OK, 1 row affected (0.25 sec)
mysql> INSERT INTO DemoTable VALUES('John','Smith');
Query OK, 1 row affected (0.36 sec)
mysql> INSERT INTO DemoTable VALUES('John','Doe');
Query OK, 1 row affected (1.38 sec)
mysql> INSERT INTO DemoTable VALUES('Bob','Doe');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable VALUES('Sam','Smith');
Query OK, 1 row affected (0.25 sec)

सभी रिकॉर्ड

mysql> SELECT * FROM DemoTable;
+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Adam      | Smith    |
| John      | Smith    |
| John      | Doe      |
| Bob       | Doe      |
| Sam       | Smith    |
+-----------+----------+
5 rows in set (0.00 sec)

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

mysql> SELECT 
    SUM(IF(FirstName='John',1,0)) AS John_Count,
    SUM(IF(LastName='Smith',1,0)) AS Smith_Count
    FROM DemoTable;

परिणाम:

+------------+-------------+
| John_Count | Smith_Count |
+------------+-------------+
| 2          | 3           |
+------------+-------------+
1 row in set (0.00 sec)

व्याख्या: 'John' दो बार (पंक्ति 2,3)। 'Smith' तीन बार (पंक्ति 1,2,5)। IF शर्त पूरी होने पर 1, अन्यथा 0 देता है। SUM उन्हें जोड़ता है।

आधुनिक विकल्प: SUM(FirstName='John') भी काम करता है क्योंकि बूलियन TRUE=1, FALSE=0 होता है।

  1. - MySQL में GROUP_CONCAT() और CONCAT() का उपयोग करके एकाधिक पंक्तियों और कॉलम को एक पंक्ति में संयोजित करना

    MySQL में GROUP_CONCAT() के साथ पंक्तियों को एक स्ट्रिंग में संयोजित करना एकाधिक पंक्तियों और कॉलम को एक स्ट्रिंग में संयोजित करने के लिए, GROUP_CONCAT() (पंक्तियों को जोड़ता है) के साथ CONCAT() (कॉलम को जोड़ता है) का उपयोग करें। उदाहरण: ग्राहक डेटा को एक स्ट्रिंग में संयोजित करना SELECT * FROM De

  1. Java का उपयोग करके MySQL टेबल में कॉलम की संख्या गिनना Java का उपयोग करके MySQL टेबल में कॉलम की संख्या गिनना

    ResultSetMetaData का उपयोग करके कॉलम मेटाडेटा प्राप्त करना इसके लिए ResultSetMetaData का उपयोग करें। पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName VARCHAR(20), StudentLastName VARCHAR(20) ); Query OK, 0 rows affect

  1. - MySQL में AUTO_INCREMENT कॉलम के साथ काम करना

    आइए समझते हैं कि MySQL में AUTO_INCREMENT कॉलम के साथ कैसे काम करें: AUTO_INCREMENT विशेषता का उपयोग नई रो के लिए एक अद्वितीय पहचानकर्ता उत्पन्न करने के लिए किया जाता है। आइए देखें कि यह स्टेटमेंट कैसे काम करता है। उससे पहले, नीचे दी गई क्वेरी पर विचार करें: क्वेरी CREATE TABLE tableName ( id