sqlite3 (на qnx): как получить данные из таблицы x минут за последнее время? - PullRequest
0 голосов
/ 18 мая 2018

У меня есть база данных sqlite3 со следующей схемой:

CREATE TABLE sysTime (дата времени, исходный текст, целевой текст, действие TEXT, статус TEXT, строка TEXT, rogue_id TEXT);

enter image description here

Я хочу запросить в БД только те строки, которые были вставлены за последние x минут (или часов или дней) относительно последнего введенного времени в БД.

Пример: если я хочу запросить в БД вернуть строки, вставленные за последний 1 день (или 24 часа), он должен вернуть только последнюю строку (т.е. 2018-05-09T17: 24: 25.243 - 24часы)

Я пытался использовать max (time) вместе с Datetime, но это не сработало: я нашел этот пример онлайн -> select count (*) из системного журнала, где time> = Datetime ('now', '- 7 days'); и изменил его так, как я хотел, как показано ниже:

select * from sysTime, где time> = Datetime ('select max (time)из системного журнала ',' - 1 день ');

, но sqlite3 не возвращает никаких строк.Пробовал пару других команд sql безрезультатно.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 18 мая 2018

Подзапросы записаны в круглых скобках:

SELECT * FROM sysTime
WHERE time >= datetime((SELECT max(time) FROM syslog),
                       '-1 day');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...