gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 00:16:42 24 4
gpt4 key购买 nike

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

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

“选择回复最多的 30 篇博文,按每篇博文的回复数降序排列。”

我也想分页这个。下一个30、下一个30等会不会很难?

我的感觉是用 SQL 做这件事并不难,我只是不知道该怎么做(还在学习中)。

最佳答案

这应该可以解决问题:

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 子句以使分页正常工作。

关于sql - 编写按对象之间的关联数排序的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/544284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com