【发布时间】:2016-07-01 01:55:18
【问题描述】:
我有:
Id | Timestamp column
---------------------------
1 | 700 (not ten, but simple to read)
2 | 800
3 | 800
4 | 800
5 | 600
我得到前 2 条记录,按时间戳 DESC 排序
Id | Timestamp column
---------------------------
2 | 800
3 | 800
现在,我无法获取以 id 3 和时间戳 800 开头的时间戳 DESC 排序的下 2 条记录
我试试:
SELECT * FROM table WHERE timestamp < 800 ORDER BY timestamp DESC LIMIT 2
但返回 ID 1 和 5,这是不正确的。
也可以试试:
SELECT * FROM table WHERE timestamp <= 800 ORDER BY timestamp DESC LIMIT 2
但返回 id 2 和 3,这又是不正确的。
也试试
SELECT * FROM table WHERE timestamp <= 800 AND id > 3 ORDER BY timestamp DESC LIMIT 2
但返回 ID 4 和 5,这又是不正确的。
等等....我尝试的所有方法都不起作用。
查询应该准确返回:
Id | Timestamp column
---------------------------
4 | 800
1 | 700
我也尝试使用按 id 排序,但我无法让它工作。
一些帮助?
编辑:我无法解释,但我肯定不知道已经提取了多少条记录,所以我不能使用 Offset。我只知道最后一条记录 - id 3 和时间戳 800...
【问题讨论】: