यदि आप समान state_id
. के साथ डुप्लीकेट शहर को हटाना चाहते हैं (डुप्लिकेट रिकॉर्ड), आप उन्हें city
. द्वारा समूहीकृत करके ऐसा कर सकते हैं और state_id
और MIN
. का उपयोग कर रहे हैं या MAX
समारोह:
क्वेरी हटाने से पहले आपकी तालिका इस तरह दिख रही थी
| ID | STATE_ID | CITY |
------------------------------
| 1 | 1 | city_one |
| 2 | 1 | city_two |
| 3 | 1 | city_one |
| 4 | 1 | city_two |
| 5 | 2 | city_one |
| 6 | 3 | city_three |
| 7 | 3 | city_one |
| 8 | 3 | city_three |
| 9 | 4 | city_four |
| 10 | 4 | city_five |
डुप्लिकेट रिकॉर्ड निकालने के लिए आप निम्न क्वेरी का उपयोग कर सकते हैं:
DELETE city_table
FROM city_table
LEFT JOIN
(SELECT MIN(id) AS IDs FROM city_table
GROUP BY city,state_id
)A
ON city_table.ID = A.IDs
WHERE A.ids IS NULL;
उपरोक्त क्वेरी को लागू करने के बाद आपकी तालिका इस तरह दिखेगी:
| ID | STATE_ID | CITY |
------------------------------
| 1 | 1 | city_one |
| 2 | 1 | city_two |
| 5 | 2 | city_one |
| 6 | 3 | city_three |
| 7 | 3 | city_one |
| 9 | 4 | city_four |
| 10 | 4 | city_five |
यह SQLFiddle देखें
अधिक के लिए देखें DELETE
MySQL का सिंटैक्स.