我需要这个SQL查询的帮助。这是我的桌子:
| id_list | name | date_created | date_updated |
|-----------|-----------|-----------------------|---------------------|
| 1 | Laundry | 2020-10-14 12:29:14 | 2020-10-15 08:04:10 |
| 2 | Food | 2020-10-14 12:38:43 | 2020-10-15 10:45:03 |
如何选择最接近date_updated的行?输出必须是这样的:
| id_list | name | date_created | date_updated |
|-----------|-----------|-----------------------|---------------------|
| 2 | Food | 2020-10-14 12:38:43 | 2020-10-15 10:45:03 |
如果您只想要;最近的";到当前时间只需使用最大值。这将在平局的情况下返回多行。
SELECT *
FROM A_TABLE
WHERE date_updated =
( SELECT MAX(date_updated)
FROM A_TABLE
)
如果您只有一个最新的行,那么order by
和limit
就足够了:
select t.*
from mytable t
order by date_updated desc
limit 1
如果您想要最接近当前日期/时间的行,无论是在过去还是将来,那么:
select t.*
from mytable t
order by abs(julianday() - julianday(date_updated))
limit 1