mysql - 偏移量限制mysql查询

标签 mysql ruby-on-rails offset

假设我有一个用户表。 我的表中有几千条记录。

当我尝试过

User.where("category = 'Normal'").offset(3000).limit(10)

它向我返回他的 ID 从 4184 开始的用户

我在想偏移量是否会从 4001 开始?我试过检查id为4000和4001的用户,有这两条记录存在。

有什么约束或情况会出现这个问题吗?

最佳答案

User.offset(3000) 将从第 3001 个用户开始选择。它没有考虑用户 id 的方式。

在您的例子中,id 4000 和 4001 的用户属于前 3000 名用户。

如果要从第4001个用户中选择:

User.where('category IS ? AND id >= ?', 'Normal', 4001).limit(10)

关于mysql - 偏移量限制mysql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18744748/

相关文章:

Mysql查询以根据条件更新状态

php - 关于在php中连接数据库的错误

MySQL查询返回的行数比预期多,我如何只返回每组中一列的最高值?

ruby-on-rails - 从 rake 任务中运行工头

ajax 请求后的 jQuery 工具提示位置

c# - 从上周的mysql查询中选择数据

ruby-on-rails - 在 Rails 中,form_for 到底是什么?看起来很神奇

javascript - 在 div 滚动时动态检查 div 的 offsetTop

Ruby 在带有偏移量的数组中查找

ruby-on-rails - 如何使用 RSpecs valid_session?