mysql - 使用 LIMIT a,b 或限制偏移量从最后获取表中的条目

标签 mysql sql-order-by offset sql-limit

我想要获取包含超过 1,000,000 个条目的表中的最新条目。我正在使用此查询作为实例

SELECT id FROM tablea WHERE flag = "N" ORDER BY id LIMIT 510045,200; 

它给了我从510045开始到510245结束的条目。MYSQL可以有一些东西让我可以获取从510245到510045开始的条目。我的意思是从最后一个获取数据,我不想只获取200个条目.

最佳答案

您应该按 desc 排序,如果需要,还可以使用 LIMIT 来定义您想要的条目数量。

示例:

SELECT id FROM tablea WHERE flag = "N" ORDER BY id DESC; 
-- this will help to find the last entries

但是,如果您想获得上次查询中未获得的最新条目,则应始终保留最后一个 ID 的值,并将其用作下次检查的引用。

示例(假设最后一次查询执行的最后一个 ID 为 55304):

SELECT id FROM tablea WHERE flag = "N" WHERE id > 55304 ORDER BY id DESC; 

关于mysql - 使用 LIMIT a,b 或限制偏移量从最后获取表中的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45269133/

相关文章:

php - 如何创建一个主键按 DESC 排序的 MySQL 表,并在插入新行后保持这种状态?

mysql - 对列求和或新列

javascript - 有什么方法可以使用 Javascript 模拟鼠标悬停在特定元素上的特定 x/y 偏移量吗?

sql - mysql 获取 order by 发生在 group by 之前

jquery - 加快设置大量跨度位置

jquery - 检查鼠标是否位于元素上方 jQuery

php - 3 个表的内部连接给出重复的结果

mysql - 按类别选择行

mysql - 高级 SQL 选择查询(唯一行)(分组依据)

php - 如何按在该结果中出现次数最多的 id 对返回的 sql 结果进行排序