0

我的 mysql 表以及其他字段有一个时间戳字段,我在其中存储 unix 时间戳(像 13076829212 之类的时间戳)。我想发出一个ajax请求,它将获取按时间戳降序排列的新添加的行(获取最新的)所以我发送最后一个行号来触发这样的查询

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

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

上面的查询正在做的是获取随机记录。我知道我的查询逻辑有问题,请帮忙。谢谢。

4

1 回答 1

3

讨论后更新答案:

现在我更好地理解了这个问题,我认为你应该使用:

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

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

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


原答案:

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

SELECT id, name FROM tablename WHERE id > 30 ORDER BY timestamp DESC
于 2013-02-18T12:34:23.463 回答