如何筛选共享同一手机号的用户?排除仅关联单个手机号的EmailID
关联多手机号的EmailID筛选方案
需求说明
需要筛选出所有关联过多个不同手机号的EmailID的完整用户记录,排除仅关联单个手机号的EmailID对应的所有记录。
实现SQL语句
SELECT t.* FROM your_table t INNER JOIN ( -- 筛选出关联多个不同手机号的EmailID SELECT EmailID FROM your_table GROUP BY EmailID HAVING COUNT(DISTINCT PhoneNumber) > 1 ) valid_emails ON t.EmailID = valid_emails.EmailID ORDER BY t.EmailID, t.PhoneNumber;
逻辑说明
- 子查询部分:按
EmailID分组,通过COUNT(DISTINCT PhoneNumber)统计每个邮箱关联的不同手机号数量,只保留数量大于1的邮箱ID - 主查询将原表与筛选后的邮箱ID列表关联,获取这些邮箱对应的所有用户记录,确保保留所有关联过多个手机号的档案,同时排除仅绑定单个手机号的邮箱记录
内容的提问来源于stack exchange,提问作者Shiva Krishna
相关产品推荐
相关产品推荐

