MySQL LEFT JOIN 返回重复结果

标签 mysql sql left-join duplicates

我正在运行查询以查找已从我们组织获得服务的用户,但我不希望他们的用户 ID 重复。例如,我可能在系统中有 5 次用户 ID 1,但我只希望他们的 ID 计为 1 次出现。这是我的查询:

mysql_query("SELECT COUNT(*) AS 'total'
FROM services
LEFT JOIN users
ON (services.USR_id = users.USR_id)
LEFT JOIN service_type
ON (services.SRV_type = service_type.TYPE_id)
WHERE services.MGR_orgid = $mgrorgid GROUP BY services.USR_id");

最佳答案

删除 group by ...,并将 count(*) 更改为 count(distinct usr_id)

关于MySQL LEFT JOIN 返回重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19988100/

相关文章:

sql - 什么是强制关闭与数据库的所有其他连接的 SQL 命令

mysql - 左连接以获取最新条目

MYSQL 查找状态为失败的服务器

php - 无法输出数据库中与两个选择选项相关的行

PHP和MySQL ACID程序设计

sql - 如何在不使用Java的情况下在H2数据库中编写函数

java - 如何构建 HQL 查询,即自动连接标记为 LAZY 的子表?

mysql - 如何从许多小查询中找到较慢的 MySQL 查询

php - 使用 PHP 将 session 变量添加到 MYSQL 查询中

sql - 使用 SQL,如何使用行自己的值来更新行?