示例架构:表(Id,时间)。
如何选择最大时间小于另一个给定时间(即前一次)的行?。
我正在思考以下几点:
SELECT MAX(Time) FROM SELECT * FROM Table WHERE Time < x
但是我记不起正确的语法或者是否有其他更有效的方法。
答案 0 :(得分:1)
试过并测试过。这工作
BEGIN TRANSACTION;
CREATE TABLE DATES(Id integer PRIMARY KEY, Time DATETIME);
INSERT INTO DATES VALUES(1, DATETIME("2015-05-21 10:07:00"));
INSERT INTO DATES VALUES(2, DATETIME("2015-05-21 10:08:00"));
INSERT INTO DATES VALUES(3, DATETIME("2015-05-21 10:10:00"));
INSERT INTO DATES VALUES(4, DATETIME("2015-05-21 10:12:00"));
INSERT INTO DATES VALUES(5, DATETIME("2015-05-21 10:09:00"));
COMMIT;
SELECT * FROM DATES;
SELECT MAX(Time) FROM DATES WHERE Time < DATETIME("2015-05-21 10:09:42");
答案 1 :(得分:0)
从TABLE中选择MAX(TIME),其中Time&gt; VALUE;
我假设您将TIME存储为数字。
因为SQLite没有Time的存储类。
如果您正在使用时间功能,
从TABLE中选择MAX(时间(TIME)),其中时间(TIME)>时间(VALUE);