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

MySQL में एक ही क्वेरी में कई शर्तों के लिए COUNT() कैसे करें?

MySQL में एक ही क्वेरी में कई शर्तों के लिए गिनती करने के लिए GROUP BY या सशर्त एग्रीगेशन का उपयोग करें।

विधि 1: GROUP BY (एक कॉलम के मानों के अनुसार गिनती)

SELECT yourColumnName, COUNT(*) FROM yourTableName GROUP BY yourColumnName;

उदाहरण

टेबल बनाएं:

CREATE TABLE MultipleCountDemo (Id INT, Name VARCHAR(100), Age INT);
INSERT INTO MultipleCountDemo VALUES 
(1, 'Carol', 21), (2, 'Sam', 21), (3, 'Bob', 22), (4, 'John', 23),
(5, 'David', 22), (6, 'Adam', 22), (7, 'Johnson', 23), (8, 'Elizabeth', 23);

उम्र के अनुसार गिनती:

SELECT Age, COUNT(*) AS AllSingleCount FROM MultipleCountDemo GROUP BY Age;

परिणाम:

AgeAllSingleCount
212
223
233

विधि 2: सशर्त एग्रीगेशन (कई अलग-अलग शर्तें)

SELECT 
    COUNT(*) AS total,
    SUM(CASE WHEN Age = 21 THEN 1 ELSE 0 END) AS age_21,
    SUM(CASE WHEN Age = 22 THEN 1 ELSE 0 END) AS age_22,
    SUM(CASE WHEN Age > 22 THEN 1 ELSE 0 END) AS age_above_22
FROM MultipleCountDemo;

विधि 3: FILTER क्लॉज (MySQL 8.0+)

SELECT 
    COUNT(*) FILTER (WHERE Age = 21) AS age_21,
    COUNT(*) FILTER (WHERE Age = 22) AS age_22
FROM MultipleCountDemo;
  1. - MySQL में CASE स्टेटमेंट से एक क्वेरी में कई आइटम की कीमत बढ़ाएं

    MySQL में CASE स्टेटमेंट का उपयोग करके एक ही UPDATE क्वेरी में विभिन्न उत्पादों की कीमतें अलग-अलग प्रतिशत से बढ़ा सकते हैं। उदाहरण: उत्पाद कीमतों को अलग-अलग प्रतिशत से बढ़ाना 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO DemoTable VALUES(Product-3, 3000); 3. वर्तमान कीमतें देखें SELECT * FROM De

  1. - MySQL में एक ही क्वेरी में एकाधिक रिकॉर्ड कैसे अपडेट करें?

    MySQL में UPDATE स्टेटमेंट में WHERE क्लॉज का उपयोग करके एक ही क्वेरी में एकाधिक कॉलम अपडेट किए जा सकते हैं, लेकिन एकाधिक पंक्तियों को अलग-अलग मानों से अपडेट करने के लिए CASE या एकाधिक क्वेरी की आवश्यकता होती है। उदाहरण: एक पंक्ति, एकाधिक कॉलम तालिका बनाएं: mysql> CREATE TABLE DemoTable ( -&

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

    इसके लिए, आप विशिष्ट कॉलम के लिए पैरामीटर मान के साथ एग्रीगेट फंक्शन SUM() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1790 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Score int ); Query OK, 0 rows affected (0.94 sec) इन्सर्ट कमा