You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL中如何筛选存在于不同地点的重复邮箱记录

解决方法:筛选存在于不同地点的邮箱

嘿,我懂你的问题啦——你需要找出那些在多个不同地点出现过的邮箱,而不是同一地点里重复出现的邮箱。你之前写的查询会把同一地点的重复记录也算进计数里,所以才会不符合预期。

问题出在哪?

你原来的查询:

select email, count(email) from table group by email having count(email) > 1

这里的count(email)统计的是该邮箱在表中出现的总次数,比如dos@dos.com在place_id=3出现了两次,总次数是2,但它只在一个地点出现,所以不是你要的结果。

正确的查询语句

我们需要统计的是每个邮箱关联的不同地点数量,这时候要用到COUNT(DISTINCT place_id):

SELECT email
FROM your_table_name  -- 记得替换成你的实际表名
GROUP BY email
HAVING COUNT(DISTINCT place_id) > 1;

这个语句会先按邮箱分组,然后只保留那些关联了2个及以上不同地点的邮箱。

用你的示例数据验证

针对你的示例数据:

  • uno@uno.com关联的place_id有3、5、6,不同地点数量是3,满足条件,会被筛选出来
  • dos@dos.com只关联place_id=3,不同地点数量是1,不会被选中
  • tres@tres.com只关联place_id=4,不同地点数量是1,也不会被选中

完全符合你想要的结果~

内容的提问来源于stack exchange,提问作者Crt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:35:41