Я такую ситуацию:Получить предыдущую дату и время из таблицы в SQLite
В таблице у меня есть 4 колонки:
CommentsTBL:
ID int
Data datetime
Hour Varchar
Comment Varchar
Столбец Час типа VARCHAR, не спросите меня, почему ....
Учитывая конкретную дату и час из таблицы, мне нужно найти предыдущую и следующую запись. Если я найду одну из них (предыдущую или следующую), будет легко получить другую, используя ту же логику.
В качестве примера:
ID Data Hour Comment
1. 2011-01-12 17:00 SomeComments1
2. 2011-01-14 10:00 SomeComments3
3. 2011-01-14 11:00 SomeComments4
4. 2011-01-13 14:00 SomeComments2
Предыдущая дата ID 4 будет ID 1, а следующий будет ID 2.
Я придумал решение для этого, но я хочу чтобы увидеть, есть ли у кого-нибудь что-то лучшее, возможно, используя только один SELECT. Это относится к предыдущему:
SELECT
Data,
MAX(Hour) Hour
FROM
CommentsTBL
WHERE
Data in (SELECT
MAX(Data)
FROM
CommentsTBL
WHERE
Data < MyDate or (Data = MyDate and Hour < MyHour)
)
GROUP BY
Data
Спасибо.
Отлично. Я не знал, что в SQLite есть опция LIMIT. Благодарю. – CristiC