【问题标题】:mysql - select last two rows in query [duplicate]mysql - 选择查询中的最后两行[重复]
【发布时间】:2014-05-04 01:50:39
【问题描述】:

我有一个获取照片上所有 cmets 的 SQL 语句,它是按顺序排列的,所以第一条评论位于页面顶部:

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

但我想创建一个只显示最近 3 个 cmets 的预览。

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

但我希望这 3 个 cmets 与原始 cmets 的顺序相同,因此最早的评论位于顶部。上面的查询将最早的评论放在底部,最新的评论放在顶部。如何通过仅获取三个最近的 cmets 来保持相同的顺序?

【问题讨论】:

标签: mysql sql


【解决方案1】:

试试这个查询:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 2011-09-04
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多