sql >> Databáze >  >> RDS >> Mysql

Odstranění duplicitních řádků pomocí sql

Zkuste nejprve vybrat duplikáty a poté je odstranit

DELETE FROM usa_city WHERE city_id IN
(
SELECT city_id FROM usa_city
GROUP BY city_name, id_state
HAVING count(city_id) > 1
)

Doufám, že to pomůže!!!

ZMĚNĚNO:Na základě komentáře, pokud si chcete ponechat jeden záznam , můžete se připojit a ponechat nejnižší hodnotu

DELETE c1 FROM usa_city c1, usa_city c2 WHERE c1.id < c2.id AND 
(c1.city_name= c2.city_name AND c1.id_state = c2.id_state)

Před provedením výše uvedeného dotazu nezapomeňte vytvořit zálohu...



  1. Jak vytvořit tabulku v návrhovém zobrazení v Accessu 2016

  2. Jak vyřešit org.hibernate.QueryException:Ne všechny jmenované parametry byly nastaveny jako chyba?

  3. Jak naformátuji čísla tak, aby měla pouze dvě desetinná místa?

  4. Hibernate anotace pro sériový typ PostgreSQL