如果我理解您的问题,那么您希望同时按照最近的回复和最新的话题进行排序。如果没有有关表的更多信息,我无法为您提供确切的语法,但是您的查询可能看起来像这样:
SELECt *FROM boardORDER BY GREATEST(replyDateTime, creationDateTime)LIMIT 50;
它使用该
GREATEST函数按
replyDateTime或
creationDateTime…对每个行进行排序,以较新的为准。
编辑:
将您的回复信息保存在单独的表格中,您的查询可以使用左联接,然后为板中的每个帖子选择最新的回复…,然后用于
GREATEST选择帖子的创建日期或最新的回复的职位。
SELECt b.ID, b.CreationTimeStamp, MAX(r.CreationTimestamp)FROM board b LEFT JOIN replies r ON r.BoardID = b.IDGROUP BY b.ID, b.CreationTimeStampORDER BY GREATEST(b.CreationTimestamp, MAX(r.CreationTimestamp))LIMIT 50;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)