关于sql server:SQL查询以查找不同ID下的重复电子邮件

SQL Query to find Duplicate email under different ID

本问题已经有最佳答案,请猛点这里访问。

我有一个表电子邮件表,它记录了ind_ref(唯一)的email_id。

enter image description here

我想只返回共享相同电子邮件ID的IND_ref。 在我的示例中,查询应返回IND_ref 1212和1555,因为它们共享[email protected]。 我怎样才能实现这一目标? 任何帮助都会很有帮助。


您可以使用exists

1
2
3
SELECT t.*
FROM TABLE t
WHERE EXISTS (SELECT 1 FROM TABLE t1 WHERE t1.email = t.email AND t1.ind_ref <> t.ind_ref);

t.*表示您正在从table中选择所有列,如果您只想要有限的列,则可以执行以下操作:

1
2
SELECT t.ind_ref, t.email
. . .


使用聚合

1
2
3
4
5
  SELECT DISTINCT ind_ref
 FROM TABLE_NAME WHERE email IN (  SELECT email FROM TABLE_NAME
    GROUP BY email
    HAVING COUNT( *)>1
   )