如何使用SQL只返回数据库中的一条(最新)记录?
例如我有记录:
dateFrom dateTo dateInserted
2017-08-09 2017-08-20 2017-08-10
2017-08-15 2017-08-17 2017-08-15
我的查询是返回dateFrom
和dateTo
之间甚至2017-08-09 and 2017-08-20
的记录。那么现在两个记录都将被返回,但是有可能只返回一条记录,最新的记录,在这种情况下意味着2017-08-15 2017-08-17 2017-08-15
吗?
我知道如何按日期排序,但是,无论如何,两个记录都只会被返回排序,例如:
Select dateFrom,dateTo
From temp t1
where date = (select max(date) from temp where t1.name =temp.name)
order by date desc
我只需要一个记录,因为星号不能使用两个结果......
答案 0 :(得分:2)
只需添加LIMIT 1
SELECT dateFrom, dateTo
FROM temp t1
WHERE date = (SELECT MAX(date) FROM temp WHERE t1.name = temp.name)
ORDER BY date DESC
LIMIT 1