我不太清楚如何问这个问题,所以我将从一个例子开始。假设我的数据库中有一个如下所示的表:
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