日期:2014-05-18  浏览次数:20785 次

如何对发帖的最后时间排序
qa表:id(贴子编号),pubtime(发表时间) 
qa_answer(回复表) 
id(回复贴编号),bbsid(被回复的主题贴编号),pubtime(回复时间)
如何写sql语句才能使帖子的列表按照发表时间和回复时间排序?

------解决方案--------------------
select 
a.*,b.* 
from qa a 
left jion qa_answer b on a.id = b.bbsid
order by a.pubtime,b.pubtime
------解决方案--------------------
探讨
好像不对啊,order by a.pubtime,b.pubtime是先按照a.pubtime,然后再按照b.pubtime排,我的要求是将a.pubtime,b.pubtime综合考虑,比如有的帖子可能没有回复,因此就没有b.pubtime,而需要将a.pubtime,b.pubtime综合考虑进行排序

------解决方案--------------------
你可以先按照回复的时间排序,再按照发帖时间排序。
------解决方案--------------------
我觉得问题要考虑好,重在设计,你要有一定的远见,要看到不久的将来发展趋势,这样才能不至于导致性能和编程问题的出现。如果有必要,你的表应该存放最后发帖时间。当数据量超大的时候,才不至于查询性能慢。至于你的问题,上面都已经说了方法,我就不累赘了。