を皮切り:SQL私が持っている列
Id | Timestamp column
---------------------------
1 | 700 (not ten, but simple to read)
2 | 800
3 | 800
4 | 800
5 | 600
私は最初の2つのレコードを取得し、タイムスタンプDESCで
今Id | Timestamp column
---------------------------
2 | 800
3 | 800
を命じ、私は、タイムスタンプDESC順の次の2つのレコードを取得することはできませんID 3とタイムスタンプで始まる800
は、私が試してみてください。
SELECT * FROM table WHERE timestamp < 800 ORDER BY timestamp DESC LIMIT 2
ですが、Id 1と5が返されますが、これは正しくありません。
もそれを試してみてください:
SELECT * FROM table WHERE timestamp <= 800 ORDER BY timestamp DESC LIMIT 2
をやはり正しくないIDが2と3を返します。
は
SELECT * FROM table WHERE timestamp <= 800 AND id > 3 ORDER BY timestamp DESC LIMIT 2
もそれを試してみたが、再び正しくないIDが4と5を返します。
など...私が試みているのはすべて動作していないということです。
クエリは正確に返す必要があります:
Id | Timestamp column
---------------------------
4 | 800
1 | 700
私はまた、idで順番に再生しようと、私はそれが仕事を得ることができません。
いくつかお手伝いしますか?
EDIT:説明できませんが、抽出されたレコードの数がわからないため、オフセットは使用できません。 ID 3およびタイムスタンプ800 ...
パーフェクト。それは働いている。ありがとうございました! –