首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果匹配特定条件,如何获得最新的行?

如果匹配特定条件,如何获得最新的行?
EN

Stack Overflow用户
提问于 2017-03-31 01:47:09
回答 2查看 34关注 0票数 0

我对SQL很陌生,但我想做的是一个评论回复功能。例如,假设您有一个profile_id of 11,并且您评论了一个post_id为339的post 。如果其他几个人在这篇文章上发表了评论,那么我想向你展示一下,自从你发表评论以来,关于那篇文章的最新评论。请看下面的第一个图像,即表,因为您可以看到用户11发布在中间。我想得到最后的评论,在这篇文章中,声明之类的,因为它的用户11评论。

这是桌子

如果我是用户11,我只想看到在我评论的线程/帖子上发布的最新评论。这意味着我想看到下面写着" Blah“的帖子,但是我只收到我的评论。任何建议都会很好。我在用Postgres 9.6

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-31 02:43:14

下一个查询将解决您的问题:

代码语言:javascript
运行
复制
select cr.id, cr.stream_id, cr.comments
from comment_replies cr
where 
cr.id in ( select cr2.id 
           from comment_replies cr2
           where 
           cr2.last_reply_timestamp = (select  max(cr3.last_reply_timestamp)
                                       from comment_replies cr3      
                                       where cr3.stream_id=cr2.stream_id
                                      )
           and cr2.stream_id=cr.stream_id
        )
and cr.stream_id in (select cr2.stream_id 
                     from comment_replies cr2 
                     where cr2.profile_id=11)
票数 1
EN

Stack Overflow用户

发布于 2017-03-31 01:52:19

代码语言:javascript
运行
复制
SELECT * FROM comment_replies ORDER BY last_reply_timestamp DESC LIMIT 1;

这将使用Order By将它们按最新到最老的顺序排序。因为LIMIT 1,它也只显示了一个结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43131072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档