时间戳desc的mysql顺序,限制范围不起作用

时间:2013-02-18 12:28:43

标签: mysql sql-order-by limit

我的mysql表和其他字段都有一个时间戳字段,我存储unix时间戳(如13076829212)。我想创建一个ajax请求,它将按时间戳降序获取新添加的行(获取最新的),所以我发送最后一个行号来触发这样的查询

select id, name from tablename order by timestamp desc limit 30, 125273733849448

我想从最后一个获取的行号开始获取最近序列中的所有行。

上述查询正在进行的是获取随机记录。我知道我的查询逻辑出错了,请帮忙。感谢。

1 个答案:

答案 0 :(得分:3)

讨论后更新了答案:

现在我认为你应该使用的问题好一点:

SELECT id, name, timestamp FROM tablename WHERE timestamp > [saved timestamp] ORDER BY timestamp DESC

其中[saved timestamp]将替换为初始查询中的最新时间戳。

如果初始查询也使用ORDER BY timestamp DESC,您将知道最新的时间戳始终位于第一行,因此可以轻松保存。


原始回答:

如果我理解正确,那么30将是你获取的最后一行的id并且id正在递增。那应该这样做:

SELECT id, name FROM tablename WHERE id > 30 ORDER BY timestamp DESC