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

MySQL टेबल में डुप्लिकेट रिकॉर्ड कैसे गिनें?


MySQL में डुप्लिकेट रिकॉर्ड गिनने के लिए IF() फ़ंक्शन का उपयोग करें।

सिंटैक्स

SELECT yourColumnName, COUNT(*) AS anyVariableName, 
IF(COUNT(*) > 1, 'Duplicate Records', 'Not Duplicate records') AS anyVariableName 
FROM yourTableName 
GROUP BY yourColumnName;

उदाहरण के साथ समझें

सबसे पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DuplicateRecords (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> Name VARCHAR(30),
    -> PRIMARY KEY(Id)
    -> ); 
Query OK, 0 rows affected (0.82 sec)

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

mysql> INSERT INTO DuplicateRecords(Name) VALUES('Carol'); 
Query OK, 1 row affected (0.81 sec)
mysql> INSERT INTO DuplicateRecords(Name) VALUES('John'); 
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DuplicateRecords(Name) VALUES('Sam'); 
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DuplicateRecords(Name) VALUES('John'); 
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DuplicateRecords(Name) VALUES('Sam'); 
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DuplicateRecords(Name) VALUES('Sam'); 
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO DuplicateRecords(Name) VALUES('John'); 
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DuplicateRecords(Name) VALUES('Carol'); 
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DuplicateRecords(Name) VALUES('Carol'); 
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DuplicateRecords(Name) VALUES('Mike'); 
Query OK, 1 row affected (0.14 sec)

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

mysql> SELECT * FROM DuplicateRecords;

आउटपुट

+----+-------+
| Id | Name  |
+----+-------+
| 1  | Carol |
| 2  | John  |
| 3  | Sam   |
| 4  | John  |
| 5  | Sam   |
| 6  | Sam   |
| 7  | John  |
| 8  | Carol |
| 9  | Carol |
| 10 | Mike  |
+----+-------+
10 rows in set (0.00 sec)

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

mysql> SELECT Name, COUNT(*) AS Repetition, 
    -> IF(COUNT(*) > 1, 'Duplicate Records', 'Not Duplicate records') AS IsDuplicateRecordsOrNot 
    -> FROM DuplicateRecords 
    -> GROUP BY Name;

आउटपुट

+-------+------------+-------------------------+
| Name  | Repetition | IsDuplicateRecordsOrNot |
+-------+------------+-------------------------+
| Carol | 3          | Duplicate Records       |
| John  | 3          | Duplicate Records       |
| Sam   | 3          | Duplicate Records       |
| Mike  | 1          | Not Duplicate records   |
+-------+------------+-------------------------+
4 rows in set (0.00 sec)

GROUP BY के साथ COUNT(*) और IF() का उपयोग करके प्रत्येक नाम की पुनरावृत्ति और डुप्लिकेट स्थिति प्राप्त की गई।

  1. - MySQL में एक क्वेरी में विशिष्ट रिकॉर्ड (डुप्लिकेट) की घटनाओं को गिनें

    COUNT() एग्रीगेट फ़ंक्शन के साथ GROUP BY का उपयोग करके प्रत्येक विशिष्ट मान की घटनाओं को गिनें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentSubject VARCHAR(40) ); Query OK, 0 rows affected (5.03 sec) INSERT INTO DemoTable(St

  1. - MySQL में FORMAT() का उपयोग करके मुद्रा रिकॉर्ड कैसे सेट करें?

    MySQL में FORMAT() फ़ंक्शन का उपयोग करके संख्याओं को मुद्रा फॉर्मेट (हजारों विभाजक, निश्चित दशमलव) में प्रदर्शित किया जा सकता है। सिंटैक्स CONCAT(CURRENCY_SYMBOL , FORMAT(amount, decimal_places)) उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Amount DECIMAL(15,4)); mysql> INSERT INTO De

  1. - MySQL में IN() क्लॉज़ के साथ एक क्वेरी में रिकॉर्ड कैसे डिलीट करें?

    MySQL में एक ही क्वेरी में एकाधिक विशिष्ट रिकॉर्ड डिलीट करने के लिए, DELETE स्टेटमेंट के साथ IN() ऑपरेटर का उपयोग करें। यह एकाधिक DELETE स्टेटमेंट चलाने से अधिक कुशल और पठनीय है। उदाहरण: विशिष्ट StudentId वाले रिकॉर्ड डिलीट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1922 ( StudentI