MySQL + SQL · Lesson 1
Delete Duplicate Rows
समस्या
Table से duplicate rows हटाना, हर एक की एक copy रखते हुए।
Self Join से
-- सबसे छोटी id वाली row रखें, बाकी delete करें
DELETE e1 FROM employees e1
INNER JOIN employees e2
WHERE e1.id > e2.id
AND e1.email = e2.email;
कैसे काम करता है
हम same email वाली rows compare करते हैं; हर duplicate pair में बड़ी id वाली delete करते हैं, पहली रखते हुए।
सारांश
- Duplicate column पर table को self-join करें, बड़ी id वाली rows delete करें।
- यह हर unique value की एक copy रखता है।