我正在尝试计算几个连接的表,但没有任何运气,我得到的是每一列的相同数字 (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/