mysql - 在查询中选择最后两行

时间:2014-03-25 22:39:42

标签: mysql sql

我有一个SQL语句,可以获取照片上的所有评论,并且已经订购,因此第一条评论位于页面顶部:

SELECT * FROM comments WHERE post='$id' AND status='1' ORDER BY time

但我想创建一个仅显示3条最新评论的预览。

SELECT * FROM comments WHERE post='$id' AND status='1' ORDER BY time DESC LIMIT 3

但是我希望这3条评论的顺序与原始评论的顺序相同,所以最早的评论位于顶部。上面的查询将最早的评论放在最底层,最新评论位于顶部。如何仅通过获取最近的三条评论来维护相同的订单?

1 个答案:

答案 0 :(得分:3)

尝试此查询:

SELECT * FROM (
    SELECT * FROM comments WHERE post='$id' AND status='1' ORDER BY time DESC LIMIT 3
) sub
ORDER BY time ASC

MySQL Subquery Syntax