我有一张共享相同区号的城市表:

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


该表有多个区号,都带有多个城市。

我只想从每个区号中选择一个城市,然后从重复的区号中删除所有多余的城市。什么是实现此目的的最佳查询?

我相信:
Mysql4: SQL for selecting one or zero record

接近我的需求,但并没有完全了解这些答案的工作方式。

注意“ 978”行是“ area_code”行,表名称是“ zip_code”。

最佳答案

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

关于mysql - MySQL:当其他人具有相同数据时选择一个记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1099123/

10-10 02:47