我想获取数据库中所有有效电子邮件地址的总数,但我还希望总数为唯一的电子邮件地址。单独使用mysql有可能吗?
答案 0 :(得分:3)
这样的事可能吗?
SELECT `email`
FROM `users`
WHERE `email`
REGEXP '[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}'
GROUP BY `email`
正则表达式来自here。正如网站指出的那样,这可能与所有有效的电子邮件(即不起眼的电子邮件)不匹配。我最后一次查看它时,我不确定是否有人创建了一个与每个可能的电子邮件地址匹配的正则表达式。
答案 1 :(得分:1)
您无法检查电子邮件是否对mysql有效。
您可以选择具有不同选择的所有唯一电子邮件:
SELECT DISTINCT `e-mailadress`FROM `table1` //something like this
答案 2 :(得分:1)
如果你想要它们的数量
SELECT COUNT(DISTINCT('EMAIL')) FROM 'TABLE'