我有一个MySQL表,其值如下:
+--------------+
| user_email |
+--------------+
| ab@gmail.com |
| cd@gmail.com |
| ef@yahoo.com |
| gh@yahoo.com |
| ij@gmail.com |
| kl@other.net |
+--------------+
我需要从这个电子邮件地址列表中返回一个唯一域名列表,例如:
gmail.com、雅虎、other.net
到目前为止,我使用以下SQL语句来选择这个:
SELECT SUBSTRING_INDEX(user_email,'@',-1)
然而,这只解决了我的一半问题——它是返回域名。使用DISTINCT并没有达到目的。我错过了什么?
仅供参考:这是在LAMP堆栈上运行的。谢谢
只需通过使用组
SELECT SUBSTRING_INDEX(user_email,'@',-1) as domain_name FROM user_email group by domain_name
通过domain_name从pytest.emps组中选择split_part(电子邮件,'@',2)作为domain_name;