我的 mysql 表和其他字段有一个时间戳字段,我在其中存储 unix 时间戳(比如 13076829212)。我想发出一个 ajax 请求,它将获取按时间戳降序排列的新添加的行(获取最新的)所以我发送最后一个行号来触发这样的查询
select id, name from tablename order by timestamp desc limit 30, 125273733849448
我想从获取的最后一个行号开始获取最近序列中的所有行。
上面的查询所做的是获取随机记录。我知道我的查询逻辑有问题,请帮忙。谢谢。
最佳答案
讨论后更新的答案:
既然我对这个问题有了更好的理解,我认为你应该使用:
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
关于mysql order by timestamp desc 限制范围不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14936320/