MYSQL SELECT 最后 5 个结果,然后按日期对这 5 个进行排序?
MYSQL SELECT last 5 results, then order those 5 by date?
我正在构建一个 "Comments" 部分,我将在其中获取此 table 中的最后 5 个结果。
COMMENT_ID | DATE | COMMENT
....... BUNCH OF RESULTS HERE
111 2018-07-28 HELLO
112 2018-07-26 HEY
113 2018-07-25 HOW ARE YOU
table 显然要大得多。我想获取最近的 5 个评论(ID 的 113 到 109),所以我必须使用 ORDER BY COMMENT_ID DESC, LIMIT 5.
但是,当我循环浏览结果时,我希望首先显示这 5 个结果中最早的评论,最后显示最新的评论。我似乎无法使用当前查询执行此操作,因为当我切换到 COMMENT_ID ASC 时,它显示评论 ID 1-5。
如有任何想法,我们将不胜感激。
您可以使用子查询来完成:
select * from (select * from comments order by comment_id desc limit 5) t1 order by date
不确定您是否关心 id 或 date 作为排序...我的查询混合了。
我正在构建一个 "Comments" 部分,我将在其中获取此 table 中的最后 5 个结果。
COMMENT_ID | DATE | COMMENT
....... BUNCH OF RESULTS HERE
111 2018-07-28 HELLO
112 2018-07-26 HEY
113 2018-07-25 HOW ARE YOU
table 显然要大得多。我想获取最近的 5 个评论(ID 的 113 到 109),所以我必须使用 ORDER BY COMMENT_ID DESC, LIMIT 5.
但是,当我循环浏览结果时,我希望首先显示这 5 个结果中最早的评论,最后显示最新的评论。我似乎无法使用当前查询执行此操作,因为当我切换到 COMMENT_ID ASC 时,它显示评论 ID 1-5。
如有任何想法,我们将不胜感激。
您可以使用子查询来完成:
select * from (select * from comments order by comment_id desc limit 5) t1 order by date
不确定您是否关心 id 或 date 作为排序...我的查询混合了。