我有一个名为'emailils'的列表。我需要一个查询来选择只在表格中出现一次的电子邮件。
所以当'电子邮件'栏目有(a @ amail.com,a @mail.com,b @mail.com)时 我只想选择b@company.com。
我尝试了以下查询:
SELECT DISTINCT `emails` FROM `table`
但问题是它选择了a@mail.com和b@mail.com。
我需要一个只会选择b@mail.com的查询。
任何人都可以帮助我吗?
答案 0 :(得分:1)
您可以使用以下
select
count(*) as cnt,
email from table
group by email having cnt = 1
如果您有一个自动递增的主键,那么您还有其他方法
select * from table t1
where not exists (
select 1 from table t2
where t1.email = t2.email
and t1.id <> t2.id
);