如何从一组电子邮件中选择所有唯一的Gmail电子邮件?

时间:2015-08-19 16:05:07

标签: mysql sql email gmail

我注意到gmail并不关心电子邮件中是否存在.,这意味着ex.ample@gmail.com等同于exam.ple@gmail.com,这是一个不错的功能谷歌,但PITA是开发人员试图维护一个独特的电子邮件地址列表。

我有一张包含电子邮件列表的表格。 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.

1 个答案:

答案 0 :(得分:1)

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

这是你想要做的吗?

编辑:选择不同的电子邮件

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

Fiddle