2009-07-08 3 views
0

J'ai une table des villes qui partagent le même code régional:MySQL: Sélection d'un enregistrement quand les autres ont les mêmes données

367 01451 Harvard   Worcester Massachusetts MA 978 Eastern 
368 01452 Hubbardston Worcester Massachusetts MA 978 Eastern 
369 01453 Leominster Worcester Massachusetts MA 978 Eastern 

Le tableau comporte plusieurs codes de la région, toutes avec plusieurs villes.

Ce que je voudrais faire est seulement de sélectionner une ville de chaque code régional et supprimer toutes les villes supplémentaires de codes régionaux en double. Quelle serait la meilleure requête pour accomplir cela?

je crois: Mysql4: SQL for selecting one or zero record

ARRIVE proche de ce que j'ai besoin, mais ne pas tout à fait obtenir quoi/comment ces réponses travaillaient.

Remarque La ligne "978" correspond à la ligne "code_zone", le nom de la table est "code-zip".

+0

Il peut être utile de fournir les noms de colonne. –

Répondre

1
DELETE c.* 
FROM zip_code c 
JOIN (
     SELECT area_code, MIN(id) AS mid 
     FROM zip_code 
     GROUP BY 
       area_code 
     ) co 
ON  c.area_code = co.area_code 
     AND c.id <> co.mid 
Questions connexes