mysql中关联表查询问题

发布于 2022-09-03 00:25:19 字数 524 浏览 13 评论 0

已知两个关联表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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

墟烟 2022-09-10 00:25:19

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;

美人迟暮 2022-09-10 00:25:19

你这个用来获取用户列表是没问题的,我是要获取特定用户的排名。也就是怎么实现中间哪个select count功能。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文