Android SQLite选择小于另一个值的最大值

时间:2015-05-21 16:47:53

标签: android sqlite

示例架构:表(Id,时间)。

如何选择最大时间小于另一个给定时间(即前一次)的行?。

我正在思考以下几点:

SELECT MAX(Time) FROM SELECT * FROM Table WHERE Time < x

但是我记不起正确的语法或者是否有其他更有效的方法。

2 个答案:

答案 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);