MySql选择最后10行而不会打扰订单

时间:2011-09-12 04:25:38

标签: mysql

我想选择最后10行,但订单应该只保留asc。

它就像在论坛中显示最后一页,但帖子仍按照正确的顺序排列。

我试图这样做

SELECT users.display,appreply.*,users.userid,users.avtar FROM appreply
    LEFT JOIN users ON users.userid=appreply.userid
    WHERE appreply.appid='$appid'
    ORDER by apprepid DESC
    LIMIT 10

但正如我所说,这扰乱了秩序。
请帮帮我

2 个答案:

答案 0 :(得分:1)

SELECT X.* FROM
(
SELECT users.display,a.apprepid apprepid_ar, a.appid appid_ar, a.reply reply_ar, a.userid userid_ar, a.browser browser_ar, a.os os_ar, a.time time_ar,users.userid,users.avtar FROM appreply a
LEFT JOIN users ON users.userid=a.userid
WHERE a.appid='$appid'
ORDER by a.apprepid DESC
LIMIT 10
) X ORDER BY X.apprepid_ar ASC

答案 1 :(得分:-1)

您可能在表格中有一个自动增量字段,通常为“Id”。 不要在apprepid字段上使用DESC运算符,而是使用Id字段:

SELECT users.display,appreply.*,users.userid,users.avtar FROM appreply
    LEFT JOIN users ON users.userid=appreply.userid
    WHERE appreply.appid='$appid'
    **ORDER by id DESC**
    LIMIT 10 ORDER BY apprepid ASC