mysql中关联表查询问题
已知两个关联表A(用户信息表),B(点赞信息列表),根据userId关联。怎么用一个查询语句获得给定用户的用户信息,点赞数,以及根据点赞数得到的排名。
比如A [userId, name, mobile...],B[userId, star...]
查询返回[name, mobile, 点赞数, 点赞数排名]
select a.*,count(b.userId) as stars,select count((select count(b.openId) as total from b group by b.userId having(total>stars))) from a left join b on a.userId=b.userId where a.userId=111 order by stars desc
这个语句会报错,中间的select count((select count(b.openId) as total from b group by b.userId having(total>stars)))报语法错误,好久不玩SQL语句,现在有点懵。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
select a.*,count(b.user_id) as stars from a,b where a.user_id = b.user_id group by user_id order by stars desc;
你这个用来获取用户列表是没问题的,我是要获取特定用户的排名。也就是怎么实现中间哪个select count功能。