【发布时间】:2014-03-05 23:19:40
【问题描述】:
我有一张地点及其地区的表格,但有时同一地区有多个同名地点。现实生活中的例子:有five Springfields in Wisconsin。我住的新斯科舍省有three Sandy Coves。我需要找到这些类型的记录并消除它们的歧义(例如,通过添加他们的县或等效项)或者只是删除垃圾/重叠的记录。这需要一些工作,但首先我想看看有多少工作。
PlaceName: RegionName:
Summerville Big State
Summerville Bigger State (OK, different states, no problem...)
Summerville Little State <-
Summerville Little State <- I need to deal with these
此查询基于来自另一个 question 的 answer,它为我提供了所有同名地点:
SELECT * FROM Places WHERE PlaceName IN
(SELECT PlaceName FROM Places GROUP BY PlaceName HAVING COUNT(*) > 1);
这是一个好的开始,但我想跳过在同一状态下不多次出现的名称,直接进入问题案例。概括地说,我想在一列中查找非唯一记录,然后从那里获取另一列中非唯一的记录。
(FWIW,我使用的是 MariaDB,它主要与 MySQL 兼容。)
【问题讨论】: