MySQL में GROUP BY ... HAVING COUNT(*) > 1 का उपयोग करके उन मानों को ढूंढ सकते हैं जो टेबल में एक से अधिक बार आते हैं।
सिंटैक्स
SELECT कॉलम_नाम FROM टेबल_नाम GROUP BY कॉलम_नाम HAVING COUNT(*) > 1;
उदाहरण
1. टेबल बनाएं
mysql> CREATE TABLE DemoTable (
-> Value INT
-> );
2. डेटा डालें (कुछ डुप्लिकेट के साथ)
mysql> INSERT INTO DemoTable VALUES(20); mysql> INSERT INTO DemoTable VALUES(10); mysql> INSERT INTO DemoTable VALUES(30); mysql> INSERT INTO DemoTable VALUES(10); -- डुप्लिकेट mysql> INSERT INTO DemoTable VALUES(30); -- डुप्लिकेट mysql> INSERT INTO DemoTable VALUES(40); mysql> INSERT INTO DemoTable VALUES(50);
3. सभी रिकॉर्ड देखें
mysql> SELECT * FROM DemoTable;
+-------+ | Value | +-------+ | 20 | | 10 | | 30 | | 10 | | 30 | | 40 | | 50 | +-------+
4. डुप्लिकेट मान ढूंढें
mysql> SELECT * FROM DemoTable
-> GROUP BY Value
-> HAVING COUNT(*) > 1;
5. परिणाम
+-------+ | Value | +-------+ | 10 | | 30 | +-------+
अतिरिक्त जानकारी प्राप्त करें
SELECT Value, COUNT(*) AS Occurrences FROM DemoTable GROUP BY Value HAVING COUNT(*) > 1;
+-------+-------------+ | Value | Occurrences | +-------+-------------+ | 10 | 2 | | 30 | 2 | +-------+-------------+
उपयोग के मामले
- डेटा गुणवत्ता जांच
- यूनिक कंस्ट्रेंट उल्लंघन ढूंढना
- डुप्लिकेट रिकॉर्ड की पहचान