0
这里是我的查询:当有LIMIT和JOIN子句时,如何计算所有行的数量?
select u.id, u.name,
(select count(*) from users where name = u.name) as total
from users u
where u.name = 'anything'
order by id
limit 1
如你所知,我查询返回具有anything
1个用户。并且total
包含具有anything
名称的所有用户的数量。好吧,一切都好。
现在我想做同样的事情时有三个JOIN
S IN查询。请设想这样的:
select u.id, u.name, sum(r.reputation) rep
from users u
join reputation r on u.id = r.user_id
join posts_tags pt on r.post_id = pt.post_id
join tags t on pt.tag_id = t.id
where u.name = 'anything' and t.name = 'mytag'
group by u.id, u.name
order by rep desc, u.id
limit 1
现在我想知道,我怎么能实现这个^查询total
一部分?
'first'和'second'查询的结果是什么? –
@chiragsatapara两个都返回一行*(拥有'anything'名字的用户)*,但第二个返回在特定标签中拥有更多声望的用户,并且他的名字是'anything'。 –
这个答案对您有帮助吗? –