使用mysql从结果集中获取最后4行的最佳方法

时间:2010-06-05 11:54:40

标签: sql mysql sql-order-by

任何人都可以告诉我,我需要使用mysql从结果集中获取最后4行。结果集共返回6条记录。

但是,我需要从last4获取记录...即,

Record-3
Record-4
Record-5
Record-6

3 个答案:

答案 0 :(得分:8)

要获取最后的 x 行数,但要按升序返回,请使用:

  SELECT x.value
    FROM (SELECT y.value
            FROM TABLE y
        ORDER BY y.value DESC
           LIMIT 4) x
ORDER BY x.value

答案要求您根据所需的行创建派生表(AKA内联视图)。然后外部查询重新排序值以进行演示。

答案 1 :(得分:5)

SELECT * FROM tablename ORDER BY id DESC LIMIT 0,4 

将为您提供最后4条记录(当您按id订购表时“最后”,这应该是一个自动增量字段。)

答案 2 :(得分:0)

如果您总是有6行,那么您可以使用限制。

SELECT * FROM Tabel LIMIT 2, 4