どのように質問すればよいかよくわからないので、例から始めます。データベースに次のようなテーブルがあるとします。
id | time | event | pnumber
---------------------------
1 | 1200 | foo | 23
2 | 1130 | bar | 52
3 | 1045 | bat | 13
...
n | 0 | baz | 7
ここで、特定の時間後に最後の既知の pnumber を取得したいとします。たとえば、時間 = 1135 の場合、テーブルにある最後の既知の時間 (1130) を見つけて、その pnumber を返す必要があります。したがって、t = 1130 の場合、pnumber = 52 が返されます。しかし、t = 1045 になるとすぐに、pnumber = 13 が返されます (このコンテキストでは、時間は 1200 から 0 までカウントダウンされます)。
これが私がこれまでに持っているものです。
SELECT pnumber FROM table WHERE time = (SELECT time FROM table WHERE time <= '1135' ORDER BY time LIMIT 1)
これを行う簡単な方法はありますか?複数のステートメントを使用せずに。私はsqlite3を使用しています