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

MySQL में GROUP BY HAVING से दो से अधिक घटनाओं वाले रिकॉर्ड्स दिखाना

MySQL में उन मानों को खोजने के लिए जो एक कॉलम में दो से अधिक बार आते हैं, GROUP BY के साथ HAVING COUNT(*) > 2 का उपयोग किया जाता है। यह डुप्लिकेट विश्लेषण के लिए उपयोगी है।

उदाहरण के लिए टेबल बनाना

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Subject VARCHAR(100)
);

डेटा डालना

mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL'), ('MongoDB'), ('MySQL'), ('Java'), ('SQL Server'), ('MongoDB'), ('MySQL');

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

mysql> SELECT * FROM DemoTable;

आउटपुट

+----+------------+
| Id | Subject    |
+----+------------+
| 1  | MySQL      |
| 2  | MongoDB    |
| 3  | MySQL      |
| 4  | Java       |
| 5  | SQL Server |
| 6  | MongoDB    |
| 7  | MySQL      |
+----+------------+

2 से अधिक घटनाओं वाले विषय चुनना

mysql> SELECT Subject, COUNT(Subject) AS freq FROM DemoTable
    -> GROUP BY Subject HAVING COUNT(Subject) > 2;

आउटपुट

+---------+------+
| Subject | freq |
+---------+------+
| MySQL   | 3    |
+---------+------+

व्याख्या: GROUP BY मानों को समूहित करता है, COUNT() प्रत्येक समूह की गिनती करता है, HAVING समूहों को फ़िल्टर करता है (WHERE पंक्तियों को फ़िल्टर करता है)। >= 2 का उपयोग करके दो या अधिक घटनाएँ प्राप्त करें।

  1. - MySQL में IF स्टेटमेंट का उपयोग करके UPDATE स्टेटमेंट में शर्तें सेट करके रिकॉर्ड प्रदर्शित करें

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> StudentMarks int, -> Status varchar(20) -> ); Query OK, 0 rows affected (0.97 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्

  1. - MySQL में GROUP BY से तारीखों के अनुसार रिकॉर्ड समूहित करें

    GROUP BY से ग्राहकवार न्यूनतम और अधिकतम शिपिंग तारीख प्राप्त करें ग्राहक नाम के अनुसार तारीखों को समूहित करके प्रत्येक ग्राहक की पहली और अंतिम शिपिंग तारीख पाएं। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable2002 ( CustomerName varchar(20), CustomerShippingDate datetime ); Query OK, 0 ro

  1. - MySQL में TRUE/FALSE रिकॉर्ड को 0/1 के रूप में प्रदर्शित करें

    समाधान कॉलम को BOOLEAN (TINYINT(1) का पर्याय) के रूप में परिभाषित करें। उदाहरण टेबल बनाएं: ); डेटा डालें: INSERT INTO DemoTable2035 (Name, isMarried) VALUES (Chris, TRUE), (David, FALSE), (Bob, TRUE), (Mike, FALSE); परिणाम +----+-------+-----------+ | Id | Name | isMarried | +----+-------+----