首页 新闻 搜索 专区 学院

查询最近有回复的帖子的SQL

0
悬赏园豆:50 [待解决问题]

假设有两个表 Topic , reply

Topic 有 id ,name ,等等

Reply 有id, tid,content,Data等等。

 

现在要把Topic按照最后一次回复的先后顺序排列。请问SQL语句怎么写。

萧何9527的主页 萧何9527 | 初学一级 | 园豆:152
提问于:2014-03-28 19:57
< >
分享
所有回答(3)
0
select a.*
from Topic as a
    left outer join (select tid, max(Data) as Data
                     from Reply
                     group by tid
    ) as b on a.id=b.tid
order by b.Data desc

 

诶碧司 | 园豆:1912 (小虾三级) | 2014-03-28 20:13
0

典型的分组排序取每组第一,方法多种

yyutudou | 园豆:997 (小虾三级) | 2014-03-28 23:19
0

select * from Topic A

join
(
select TID from Reply order by ID desc
) B

on A.ID=B.TID

order by B.TID

 

因为你reply表中没有时间这个字段,我假设你的ID是自增列的..就用ID来排序了,如果有时间列的话,应该用时间列来排序.

hexllo | 园豆:405 (菜鸟二级) | 2014-03-31 09:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册