कंपोजिट कॉलम पर GROUP BY HAVING से डुप्लिकेट
एक से अधिक कॉलम के संयोजन (कंपोजिट की) पर डुप्लिकेट खोजने के लिए उन सभी कॉलम पर GROUP BY करें और HAVING COUNT(*) >= 2 लगाएँ।
तालिका और डेटा
mysql> CREATE TABLE DemoTable1494 (
-> ShippingDate DATETIME,
-> CustomerCountryName VARCHAR(20)
-> );
mysql> INSERT INTO DemoTable1494 VALUES
-> ('2018-09-10 12:34:50', 'US'),
-> ('2019-09-10 12:34:50', 'AUS'),
-> ('2018-09-10 11:00:00', 'US'),
-> ('2017-12-31 01:10:40', 'UK'),
-> ('2019-09-10 05:00:50', 'AUS');
क्वेरी: तिथि (दिन) और देश के संयोजन पर डुप्लिकेट
mysql> SELECT ShippingDate, CustomerCountryName, COUNT(*) AS c
-> FROM DemoTable1494
-> GROUP BY DATE(ShippingDate), CustomerCountryName
-> HAVING c >= 2
-> ORDER BY c;
परिणाम
+---------------------+---------------------+---+
| ShippingDate | CustomerCountryName | c |
+---------------------+---------------------+---+
| 2018-09-10 12:34:50 | US | 2 |
| 2019-09-10 12:34:50 | AUS | 2 |
+---------------------+---------------------+---+
मुख्य बिंदु:
DATE(ShippingDate)से केवल दिन भाग पर समूह बनायाCustomerCountryNameके साथ कंपोजिट ग्रुपिंगHAVING c >= 2से केवल डुप्लिकेट समूह- परिणाम में प्रत्येक समूह की एक प्रतिनिधि पंक्ति दिखाई गई