php - MySql 获取不同域的数量

标签 php mysql mariadb

我有一个像这样的用户表。用户可以通过不同的电子邮件地址进行注册,即 abc@xyz.comabc@uvw.com。我需要从电子邮件中获取不同域的数量。我的users表结构是

+----+------------------+------------------------+
| id | name             | email                  |
+----+------------------+------------------------+
|  3 | shamsreza        | shamsreza@abc.in       |
|  4 | Kamal            | kamalkumar@xyz.com     |
|  6 | BIBHUDATTA SAHOO | admin@uvw.com          |
|  7 | Bibhu Once Again | bibhuduttasahoo@xyz.in |
+----+------------------+------------------------+  

我是这样查询的

select substring(email,LOCATE('@',email),LENGTH (email)) from users

它给我的输出为

+---------------------------------------------------+
| substring(email,LOCATE('@',email),LENGTH (email)) |
+---------------------------------------------------+
| @uvw.com                                          |
| @xyz.com                                          |
| @xyz.com                                          |
| @abc.in                                           |
+---------------------------------------------------+

但是这里 xyz.com 是重复的,我需要不同域的计数。

最佳答案

为了获得不同的结果,您可以使用 DISTINCT。

select distinct substring(email,LOCATE('@',email),LENGTH (email)) from users

或者如果您想计算它们:

select count(distinct substring(email,LOCATE('@',email),LENGTH (email))) from users

关于php - MySql 获取不同域的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46336743/

相关文章:

php - HTML、PHP - 回显时转义 '<' 和 '>' 符号

mysql - 如何使用连接添加计数列?

php - 如何检查 session 是否已启动并重定向用户?

hibernate - 从Hibernate 4迁移到5

Windows 上的 mysqldump 忽略用户/密码

MySQL已损坏,无法启动: "Restoring possible half-written data pages from the doublewrite buffer..."

php - 无法将大型 html5 Canvas 发布到服务器?

php - 使用 PHPUnit 断言异常

php - Laravel 多个多对多

php - 是否可以选择数据库中的两个表?