我正在尝试进行查询,以获取多少用户Users
和多少用户,Documents
我期望的结果是
Users Documents
297 0
5 1
10 3
16 8
因此,我可以看到我的用户的活动,并查看为什么在另一个过程中有这么多没有文档的用户上载。
我已经试过这个查询
SELECT COUNT(u.id) AS Users, COUNT(d.id) AS Documents
FROM user u
INNER JOIN document d ON u.id = d.user_id
GROUP BY u.id
我得到的结果是这样的
Users Documents
1 2
1 1
1 0
1 1
1 1
...
而不是获取用户和文档的总数,而是给我每个用户的文档总数...
我敢肯定,这很容易做到,这是一个简单的查询,但是今天我完全被封锁了。
表结构是泰语
用户 id, username, password, email
文档 id, title, body, user_id, created_at, updated_at
关系document.user_id
到user.id
,没有什么复杂的。
select count(t.userId) Users, t.numberOfDocs Documents from (
select u.id userId, count(d.id) numberOfDocs
from user u
left join document d on d.user_id = u.id
group by u.id ) as t
group by t.numberOfDocs
-- order by users or number of documents (Depends on your requirements)
;
在此处查看演示: sqlfiddle
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句