偏移限制mysql查询

时间:2013-09-11 15:01:30

标签: mysql ruby-on-rails offset

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

当我尝试

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

它返回了我的id从4184开始的用户

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

任何约束或情况会有这个问题吗?

1 个答案:

答案 0 :(得分:2)

User.offset(3000)将从第3001位用户中进行选择。它没有考虑用户id的方式。

在您的情况下,id 4000和4001的用户属于前3000个用户。

如果您想从第4001位用户中进行选择:

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