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

MySQL में दो अलग-अलग शर्तों पर काउंट कैसे चुनें? CASE स्टेटमेंट

इसके लिए CASE स्टेटमेंट का उपयोग करें।

टेबल बनाएं

mysql> create table DemoTable (
    -> StudentMarks int,
    -> isValid tinyint(1)
    -> );
Query OK, 0 rows affected (0.68 sec)

रिकॉर्ड्स डालें

mysql> insert into DemoTable values(45,0);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(78,1);
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable values(45,1);
Query OK, 1 row affected (0.31 sec)
mysql> insert into DemoTable values(78,1);
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable values(45,0);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(82,1);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(62,1);
Query OK, 1 row affected (0.14 sec)

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

mysql> select * from DemoTable;
+--------------+---------+
| StudentMarks | isValid |
+--------------+---------+
| 45           | 0       |
| 78           | 1       |
| 45           | 1       |
| 78           | 1       |
| 45           | 0       |
| 82           | 1       |
| 62           | 1       |
+--------------+---------+
7 rows in set (0.00 sec)

दो शर्तों पर काउंट का क्वेरी

mysql> select StudentMarks,
    -> sum(case
    -> when StudentMarks=45
    -> then case when isValid = 1 then 1 else 0 end
    -> else 1 end
    -> ) AS Freq
    -> from DemoTable
    -> group by StudentMarks;

आउटपुट:

+--------------+------+
| StudentMarks | Freq |
+--------------+------+
| 45           | 1    |
| 78           | 2    |
| 82           | 1    |
| 62           | 1    |
+--------------+------+
4 rows in set (0.00 sec)

व्याख्या: जब StudentMarks=45 हो, तो केवल isValid=1 वाली पंक्तियों को गिनें। अन्य सभी अंकों के लिए, हर पंक्ति को 1 के रूप में गिनें।

  1. - MySQL में UNION का उपयोग करके दो टेबल से एक क्वेरी में चयन करें

    UNION ऑपरेटर का उपयोग करके दो टेबल के परिणाम सेट को संयोजित करें (डुप्लिकेट हटाता है)। क्रमबद्ध करने के लिए ORDER BY जोड़ें। पहली टेबल बनाना और डेटा डालना CREATE TABLE DemoTable1 ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(20) ); Query OK, 0 rows affected (0.90 sec) I

  1. - MySQL में शर्त के साथ ORDER BY और SELECT कैसे करें?

    कंडीशनल ORDER BY: जीरो वैल्यू अंत में किसी कॉलम को सॉर्ट करते समय खास मान (जैसे 0) को अंत में रखने और बाकी को नॉर्मल ऑर्डर में रखने के लिए बूलियन एक्सप्रेशन का उपयोग करें। सिंटैक्स SELECT * FROM yourTableName ORDER BY yourColumnName = 0, yourColumnName; टेबल बनाना और डेटा इन्सर्ट करना CREATE TABL

  1. - MySQL में दो टेबल पर एकल SELECT क्वेरी करना (कार्टेशियन उत्पाद)

    MySQL में दो टेबल पर कार्टेशियन उत्पाद (क्रॉस जॉइन) दो टेबल पर बिना जॉइन शर्त के SELECT करने से कार्टेशियन उत्पाद (क्रॉस जॉइन) उत्पन्न होता है: पहली टेबल की प्रत्येक पंक्ति दूसरी टेबल की प्रत्येक पंक्ति के साथ जुड़ती है। परिणाम पंक्तियाँ = पंक्तियाँ_टेबल1 × पंक्तियाँ_टेबल2। उदाहरण: दो असंबंधित टेबल