如何对发帖的最后时间排序

zhshshyang 2012-05-11 06:00:09
qa表:id(贴子编号),pubtime(发表时间)
qa_answer(回复表)
id(回复贴编号),bbsid(被回复的主题贴编号),pubtime(回复时间)
如何写sql语句才能使帖子的列表按照发表时间和回复时间排序?
...全文
109 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2012-05-11
  • 打赏
  • 举报
回复
我觉得问题要考虑好,重在设计,你要有一定的远见,要看到不久的将来发展趋势,这样才能不至于导致性能和编程问题的出现。如果有必要,你的表应该存放最后发帖时间。当数据量超大的时候,才不至于查询性能慢。至于你的问题,上面都已经说了方法,我就不累赘了。
houyajin 2012-05-11
  • 打赏
  • 举报
回复
你可以先按照回复的时间排序,再按照发帖时间排序。
zhshshyang 2012-05-11
  • 打赏
  • 举报
回复
有回帖的按最后回帖的时间排序主帖,没有回帖的,就按他的发帖时间排序。
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
好像不对啊,order by a.pubtime,b.pubtime是先按照a.pubtime,然后再按照b.pubtime排,我的要求是将a.pubtime,b.pubtime综合考虑,比如有的帖子可能没有回复,因此就没有b.pubtime,而需要将a.pubtime,b.pubtime综合考虑进行排序
[/Quote]

比如有的帖子可能没有回复,因此就没有b.pubtime ,那么连接以后b.pubtime是null,也能参与排序。关键是你所说的综合考虑排序是什么意思?最好给出数据和你要的结果
zhshshyang 2012-05-11
  • 打赏
  • 举报
回复
好像不对啊,order by a.pubtime,b.pubtime是先按照a.pubtime,然后再按照b.pubtime排,我的要求是将a.pubtime,b.pubtime综合考虑,比如有的帖子可能没有回复,因此就没有b.pubtime,而需要将a.pubtime,b.pubtime综合考虑进行排序
-狙击手- 2012-05-11
  • 打赏
  • 举报
回复
select
a.*,b.*
from qa a
left jion qa_answer b on a.id = b.bbsid
order by a.pubtime,b.pubtime

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧