背景
今天发现某个黄页爬取的数据有部分重复了,原本我用的公司详情页的url进行md5来作为主键做upsert入,但后面在核验数据时发现有些详情url虽是同一间公司的,但路由上有细微差别导致写入了重复的公司数据,所以要想办法清理掉重复的公司;
除了有表id外,我的表里还有一个local_id字段,用于保存页面上的内部id,下面就从这个字段入手进行;
实现方案
第一步首先是看看有多少重复的记录,这个很简单,通过group by local_id就能找到了,如下:
SELECT
"local_id"
FROM
"result".table_name
WHERE
"sources" = 'xxxx'
GROUP BY
"local_id"
HAVING
COUNT ( "local_id" ) > 1
)
结果数量是91条,这就意味着有91个公司的信息有重复的;
然后我想看看总共有多少条对应的重复公司记录