sql >> Database teknologi >  >> RDS >> Mysql

Sletning af duplikerede rækker med sql

Prøv at vælge dubletterne først, og slet dem

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
)

Håber det hjælper!!!

ÆNDRET:Baseret på kommentaren, hvis du vil beholde én registrering , kan du oprette en join og beholde den laveste værdi

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)

Sørg for at lave en sikkerhedskopi, før du udfører forespørgslen ovenfor...



  1. Sådan indsætter du json array i mysql database med php

  2. Informationssystemer, data og information

  3. Hvordan tjekker man, om alle felter er unikke i Oracle?

  4. Får fejl ved forbindelse til ECONNREFUSED 127.0.0.1:3306 under forbindelse til mysql