我注意到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
答案 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;