使用 mysql 从结果集中获取最后 4 行的最佳方法
Posted
技术标签:
【中文标题】使用 mysql 从结果集中获取最后 4 行的最佳方法【英文标题】:Best way to fetch last 4 rows from a result set using mysql 【发布时间】:2010-06-05 11:54:40 【问题描述】:谁能告诉我,我需要使用 mysql 从结果集中获取最后 4 行。结果集共返回6条记录。
但是,我需要从 last4 获取记录...即,
Record-3
Record-4
Record-5
Record-6
【问题讨论】:
【参考方案1】:要获取最后的 x 行数,但要按升序返回,请使用:
SELECT x.value
FROM (SELECT y.value
FROM TABLE y
ORDER BY y.value DESC
LIMIT 4) x
ORDER BY x.value
答案要求您根据所需的行创建一个派生表(AKA 内联视图)。然后外部查询对值重新排序以进行表示。
【讨论】:
【参考方案2】:SELECT * FROM tablename ORDER BY id DESC LIMIT 0,4
将为您提供最后 4 条记录(“last”当您通过 id
订购表格时,这应该是这里的自动增量字段。)
【讨论】:
我需要记录集的结果应该按升序排列。怎么办? @php 实际上,那么我不知道不需要在单独的操作中首先计算行数的解决方案。然后它会例如当它有 660 行时是SELECT * FROM table ORDER BY id LIMIT 656,4
。【参考方案3】:
如果你总是有 6 行,你可以使用限制。
SELECT * FROM Tabel LIMIT 2, 4
【讨论】:
以上是关于使用 mysql 从结果集中获取最后 4 行的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章