1

テーブルユーザーがあるとしましょう。私のテーブルには数千のレコードがあります。

私が試したとき

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

彼のIDが4184から始まるユーザーを返します

代わりにオフセットが4001から始まると思っていましたか?ID 4000 と 4001 のユーザーを確認しようとしましたが、これら 2 つのレコードが存在します。

この問題が発生する制約や状況はありますか?

4

1 に答える 1

2

User.offset(3000)3001 番目のユーザーから選択します。User の方法は考慮されませんid

あなたの場合、id4000 と 4001 のユーザーは最初の 3000 ユーザーです。

4001 番目のユーザーから選択する場合:

User.where('category IS ? AND id >= ?', 'Normal', 4001).limit(10)
于 2013-09-11T15:06:46.100 に答える