如何从一组电子邮件中 ​​select 所有唯一的 gmail 电子邮件?

How to select all the unique gmail emails from a set of emails?

我注意到 gmail 不关心电子邮件中是否存在 .,这意味着 ex.ample@gmail.com 等同于 exam.ple@gmail.com,这是一个很好的功能Google,但对于试图维护唯一电子邮件地址列表的开发人员来说是一个 PITA。

我有一个包含电子邮件列表的 table。 gmail 用于检测唯一电子邮件的确切规则是什么?给定一组电子邮件,我如何找到 实际 个唯一电子邮件?

这是我的架构:

sql> select * from subscribers;

id |     email           
-------------------------
1  | user.name1@gmail.com
2  | username.1@gmail.com
3  | user3@example.net
...

预期的输出是一组唯一的(有效的!)电子邮件:

id |     email           
-------------------------
1  | user.name1@gmail.com
3  | user3@example.net

Fiddle.

select em, count(*)
from (
select replace(email, '.','') as em
from subscribers
where email like '%@gmail.com%') t
group by em
having count(*) = 1;

这是你想要做的吗?

编辑:至 select 个不同的电子邮件

select distinct 
concat(replace(substring(email,1,INSTR(email,'@')-1),'.',''),    
       substring(email,INSTR(email,'@')))
from subscribers;

Fiddle