假设我有一个表用户。 我的桌子上有几千条记录。
当我尝试
时User.where("category = 'Normal'").offset(3000).limit(10)
它返回了我的id从4184开始的用户
我在想,偏移是从4001开始的吗?我试过检查id为4000和4001的用户,这两条记录存在。
任何约束或情况会有这个问题吗?
答案 0 :(得分:2)
User.offset(3000)
将从第3001位用户中进行选择。它没有考虑用户id
的方式。
在您的情况下,id
4000和4001的用户属于前3000个用户。
如果您想从第4001位用户中进行选择:
User.where('category IS ? AND id >= ?', 'Normal', 4001).limit(10)