使用SQL仅返回数据库中的最新记录

时间:2017-10-05 05:47:14

标签: mysql sql

如何使用SQL只返回数据库中的一条(最新)记录?

例如我有记录:

dateFrom     dateTo   dateInserted
2017-08-09  2017-08-20 2017-08-10
2017-08-15  2017-08-17 2017-08-15

我的查询是返回dateFromdateTo之间甚至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

我只需要一个记录,因为星号不能使用两个结果......

1 个答案:

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