我的mysql表和其他字段都有一个时间戳字段,我存储unix时间戳(如13076829212)。我想创建一个ajax请求,它将按时间戳降序获取新添加的行(获取最新的),所以我发送最后一个行号来触发这样的查询
select id, name from tablename order by timestamp desc limit 30, 125273733849448
我想从最后一个获取的行号开始获取最近序列中的所有行。
上述查询正在进行的是获取随机记录。我知道我的查询逻辑出错了,请帮忙。感谢。
答案 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