mysql order by timestamp desc 限制范围不起作用

标签 mysql sql-order-by limit

我的 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/

相关文章:

php - 带表格的简单数学 PHP

mysql - Cloudcontrol 上的 Laravel MySQL 连接

MySQL 按最近一小时递归计数排序

mysql - 哪些 DBMS 允许对 select 子句中不存在的属性进行排序?

Clojure/Ring : Using the ring jetty adapter, 大请求给我 413 : FULL HEAD error.

java - 为什么显示 "No database Selected"SQLException

PHP如何从Mysql返回日期时间(6)?

mysql - 强制 group by 保持行的原始顺序

mysql - ORDER BY 和 LIMIT 2 个不同的参数

mysql - MySQL 中不允许子查询限制,但我需要 "it"