一个查询中的mysql multi count()

标签 mysql count

我正在尝试计算几个连接的表,但没有任何运气,我得到的是每一列的相同数字 (tUsers,tLists,tItems)。我的查询是:

select COUNT(users.*) as tUsers,
       COUNT(lists.*) as tLists,
       COUNT(items.*) as tItems,
       companyName
    from users as c
    join lists as l
    on c.userID = l.userID
    join items as i
    on c.userID = i.userID
    group by companyID

我想要得到的结果是

---------------------------------------------
 #  | CompanyName | tUsers | tlists | tItems 
 1  | RealCoName  |    5   |   2    |   15
---------------------------------------------

我必须对查询进行哪些修改才能获得这些结果?

干杯

最佳答案

试试这个

SELECT u.userID, companyName, 
       Count(DISTINCT l.listid) as tLists, Count(DISTINCT i.items) as tItems
 FROM users u
   LEFT JOIN lists l ON u.userID=l.userID
   LEFT JOIN items i ON u.userID=i.userID 
GROUP BY u.companyID

关于一个查询中的mysql multi count(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4568694/

相关文章:

c++ - MATLAB 中的 mysql.cpp 编译错误

php - PHP 中 !empty($variable) 和 count($variable) 的 bool 结果总是相等吗?

php - 如何计算 my_sql

arrays - JMeter:如何使用 jsonpath 计算数组中的 JSON 对象

c# - 如何检查某个字符串在另一个字符串中出现的次数?

php - 如何在 PHP 的 SELECT 语句中执行子查询?

PHP 下载完整的 mysql 数据库作为 .sql 备份文件

Mysql 查询从多列中进行计数

MySQL - 使用 LIMIT 更新查询

php - 使用复选框从数据库中提取电子邮件地址(PHP、MYSQL)