当前位置:  开发笔记 > 后端 > 正文

编写按对象之间的关联数排序的查询

如何解决《编写按对象之间的关联数排序的查询》经验,为你挑选了1个好方法。

是时候在类似博客的Web应用程序上实现排序了.除了按创建日期浏览之外,我还希望用户能够按回复数量进行排序.

鉴于我有两个表blog_posts和回复,并且回复有一个名为blog_post_id的字段(blog_post的外键是回复),我该如何编写此查询?

"选择回复最多的30篇博文,按降序排列每篇博文的回复数量排序."

我也想对此进行分页.难以获得下一个30,接下来的30,等等吗?

我的感觉是这对SQL来说并不太难,我只是不知道该怎么做(还在学习).



1> Parrots..:

这应该做的伎俩:

SELECT blog_posts.*, count(replies.blog_post_id) as blog_replies 
FROM blog_posts 
LEFT JOIN replies ON replies.blog_post_id = blog_posts.id 
GROUP BY blog_posts.id 
ORDER BY blog_replies DESC

您可以在最后处理LIMIT和OFFSET子句以使分页工作.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有