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

MySQL में WHERE क्लॉज और HAVING COUNT > 1 के साथ GROUP BY कैसे करें?

WHERE, GROUP BY और HAVING का संयुक्त उपयोग

WHERE फिल्टर करता है, GROUP BY ग्रुप करता है, HAVING ग्रुप्स को फिल्टर करता है:

SELECT * FROM table_name
WHERE condition
GROUP BY column_name
HAVING COUNT(*) > 1
ORDER BY column_name DESC;

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE GroupByWithWhereClause (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> IsDeleted TINYINT(1),
    -> MoneyStatus VARCHAR(20),
    -> UserId INT,
    -> PRIMARY KEY(Id)
    -> );

19 रिकॉर्ड्स डाले गए (विभिन्न UserId, IsDeleted, MoneyStatus के साथ)।

क्वेरी: IsDeleted=0, MoneyStatus='done' वाले UserId जिनके 1 से अधिक रिकॉर्ड्स हैं

mysql> SELECT * FROM GroupByWithWhereClause
    -> WHERE IsDeleted = 0 AND MoneyStatus = 'done'
    -> GROUP BY SUBSTR(UserId, 1, 3)
    -> HAVING COUNT(*) > 1
    -> ORDER BY Id DESC;

आउटपुट:

+----+-----------+-------------+--------+
| Id | IsDeleted | MoneyStatus | UserId |
+----+-----------+-------------+--------+
| 18 |         0 | done        |    106 |
|  8 |         0 | done        |    103 |
|  2 |         0 | done        |    101 |
+----+-----------+-------------+--------+

निष्पादन क्रम: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT

  1. - MySQL VIEW में WHERE क्लॉज का उपयोग कैसे करें?

    MySQL VIEW पर WHERE क्लॉज लागू करना MySQL VIEW एक आभासी टेबल है जो एक SELECT क्वेरी के परिणाम सेट पर आधारित होती है। आप किसी भी नियमित टेबल की तरह VIEW पर WHERE क्लॉज लागू करके परिणामों को फ़िल्टर कर सकते हैं। उदाहरण: छात्र VIEW बनाना और फ़िल्टर करना पहले एक छात्र टेबल बनाते हैं: SELECT * FROM Dem

  1. - MySQL में WHERE क्लॉज में एकाधिक शर्तों के साथ UPDATE कैसे करें?

    MySQL में UPDATE स्टेटमेंट के WHERE क्लॉज में AND ऑपरेटर का उपयोग करके एकाधिक शर्तें निर्दिष्ट करके विशिष्ट पंक्तियों को अपडेट किया जा सकता है। सिंटैक्स UPDATE table_name SET column = value WHERE condition1 AND condition2 AND ...; उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREATE TABLE DemoTable

  1. - MySQL WHERE क्लॉज़ में ड्यू डेट और करंट डेट रिकॉर्ड्स की जांच करने की शर्त

    ऐसी शर्तों की जांच के लिए, MySQL में IF() फ़ंक्शन का उपयोग करें। उदाहरण आइए एक टेबल बनाते हैं: mysql> create table demo89 ( duedate date ); Query OK, 0 rows affected (0.78 sec) उदाहरण इन्सर्ट कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें: mysql> insert into demo89 values(2020-01-10); Query OK,