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

MySQL में डुप्लीकेट रिकॉर्ड कैसे चुनें और उनकी गिनती दिखाएं?


GROUP BY और HAVING से डुप्लीकेट खोजें

MySQL में डुप्लीकेट रिकॉर्ड चुनने और उनकी संख्या गिनने के लिए GROUP BY के साथ HAVING और COUNT() फंक्शन का उपयोग करें।

टेबल और डेटा तैयार करें

mysql> CREATE TABLE duplicateRecords (
    -> ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ClientName VARCHAR(20)
    -> );
mysql> INSERT INTO duplicateRecords(ClientName) VALUES('John');
mysql> INSERT INTO duplicateRecords(ClientName) VALUES('Carol');
mysql> INSERT INTO duplicateRecords(ClientName) VALUES('John');
mysql> INSERT INTO duplicateRecords(ClientName) VALUES('Sam');
mysql> INSERT INTO duplicateRecords(ClientName) VALUES('Sam');
mysql> INSERT INTO duplicateRecords(ClientName) VALUES('Bob');
mysql> INSERT INTO duplicateRecords(ClientName) VALUES('John');
mysql> INSERT INTO duplicateRecords(ClientName) VALUES('Sam');

सभी रिकॉर्ड:

+----------+------------+
| ClientId | ClientName |
+----------+------------+
| 1        | John       |
| 2        | Carol      |
| 3        | John       |
| 4        | Sam        |
| 5        | Sam        |
| 6        | Bob        |
| 7        | John       |
| 8        | Sam        |
+----------+------------+

डुप्लीकेट रिकॉर्ड और उनकी गिनती की क्वेरी

mysql> SELECT ClientName, COUNT(*) AS DuplicateRecord
    -> FROM duplicateRecords
    -> GROUP BY ClientName
    -> HAVING DuplicateRecord > 1;

परिणाम:

+------------+-----------------+
| ClientName | DuplicateRecord |
+------------+-----------------+
| John       | 3               |
| Sam        | 3               |
+------------+-----------------+

कैसे काम करता है:

  1. GROUP BY ClientName - समान नामों को समूहित करता है
  2. COUNT(*) - प्रत्येक समूह की पंक्तियाँ गिनता है
  3. HAVING DuplicateRecord > 1 - केवल उन्हीं समूहों को दिखाता है जिनकी गिनती 1 से अधिक है

अतिरिक्त सुझाव: यदि पूरी पंक्ति डुप्लीकेट है (सभी कॉलम समान), तो GROUP BY में सभी कॉलम शामिल करें।

  1. - MySQL क्वेरी डुप्लिकेट टुपल्स खोजने और गिनती प्रदर्शित करने के लिए?

    डुप्लिकेट टुपल्स खोजने के लिए GROUP BY HAVING क्लॉज का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.80 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into De

  1. - MySQL में NULL और NOT NULL रिकॉर्ड वाले कॉलम से केवल NOT NULL मान प्रदर्शित करें

    इसके लिए आप IS NOT NULL प्रॉपर्टी का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1 ( DueDate date ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1 values(2019-09-10); Query OK, 1 r

  1. - MySQL में रिकॉर्ड घटनाओं की गिनती करके नए कॉलम में कैसे प्रदर्शित करें?

    MySQL में किसी कॉलम के मान की घटनाओं (occurrences) को गिनकर नए कॉलम के रूप में प्रदर्शित करने के लिए, COUNT(*) के साथ GROUP BY का उपयोग करें। यह डेटा वितरण विश्लेषण, डुप्लिकेट पहचान, और आवृत्ति रिपोर्टिंग के लिए मानक तरीका है। उदाहरण: Value कॉलम की घटनाएं गिनना डेमो टेबल बनाएं: mysql> CREATE T