一个查询中的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/

相关文章:

php - mysql取数组报错2

C#更新数据库问题

android - 删除行的同步是更好的字符串还是比较?

java - 避免在 Java 中使用大量计数器

python - 计算字符串中最大连续 "a"的数量。 python 3

sql - 计算不包括周末和节假日的日期之间的天数的初学者方法

mysql - 计算特定日期之前发生的次数

mysql - Mobilink 与 Linux 上的 MySQL

java - IBM Security (Tivoli) Directory Integrator 中的 HTTP 服务器连接器

sql - 在 SQL 查询中包含 COUNT 个关联的最简单方法是什么?