主题表(Post)字段如下:
id title(标题) createDate (发表时间) replytime (最后回复时间) messageID(最后回复用户) ...... 回复表(RePost)字段如下:
id context(内容) replytime(回复时间) ...... 要求:显示在页面的内容如果是新发表的话题就放在上面,如果有新的回复也放在上面.
如:
标题 内容 发表用户 发表时间 最后回复用户 最后回复时间
W WWWWW ttt 2008-12-06 12:46:46
D DDDD hhh 2008-11-10 22:22:22 uuu 2008-12-06 12:21:20
A AAAAAA abc 2008-12-06 10:30:02 bca
B BBBBB cba 2008-12-05 09:06:00 cab 2008-12-06 10:10:10
C CCC dd 2008-12-06 07:05:50 ff 2008-12-06 08:30:02 在查询主题时如何对帖子进行排序?
如果按照发表时间:order by suDate desc 的话,那么帖子有新的回复也不会放在第一位 如果按照最后回复时间: order by rePost desc 的话,发表的新帖也不会放在第一位。 order by rePost desc,suDate desc的话也不正确 请问如何实现???
id title(标题) createDate (发表时间) replytime (最后回复时间) messageID(最后回复用户) ...... 回复表(RePost)字段如下:
id context(内容) replytime(回复时间) ...... 要求:显示在页面的内容如果是新发表的话题就放在上面,如果有新的回复也放在上面.
如:
标题 内容 发表用户 发表时间 最后回复用户 最后回复时间
W WWWWW ttt 2008-12-06 12:46:46
D DDDD hhh 2008-11-10 22:22:22 uuu 2008-12-06 12:21:20
A AAAAAA abc 2008-12-06 10:30:02 bca
B BBBBB cba 2008-12-05 09:06:00 cab 2008-12-06 10:10:10
C CCC dd 2008-12-06 07:05:50 ff 2008-12-06 08:30:02 在查询主题时如何对帖子进行排序?
如果按照发表时间:order by suDate desc 的话,那么帖子有新的回复也不会放在第一位 如果按照最后回复时间: order by rePost desc 的话,发表的新帖也不会放在第一位。 order by rePost desc,suDate desc的话也不正确 请问如何实现???
这个其实可以帮你解决的,就是以最后回复时间来排序,如果最后回复时间为空,则用发表时间来代替最后回复时间,至于你的置顶,你可以先以置顶的排.
order by `置顶字段` desc , ifnull(replytime ,createDate ) desc