2009-07-08 14 views
0

ich eine Tabelle von Städten haben, dass alle die gleiche Vorwahl:MySQL: Auswählen von einem Datensatz Wenn andere haben denselben Daten

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

Die Tabelle mehrere Vorwahlen, die alle mit mehreren Städten.

Was ich tun möchte, ist nur eine Stadt aus jeder Vorwahl auswählen und löschen Sie zusätzliche Städte aus doppelten Vorwahlnummern. Was wäre die beste Abfrage, um dies zu erreichen?

Ich glaube: Mysql4: SQL for selecting one or zero record

Kommt die Nähe, was ich brauche, aber nicht ganz, was/wie diese Antworten arbeiten.

Hinweis Die Zeile "978" ist die Zeile "area_code", Tabellenname ist "zip_code".

+0

Es könnte hilfreich sein, wenn Sie die Spaltennamen angegeben haben. –

Antwort

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 
Verwandte Themen