2013-11-27 231 views
0

我正在尝试创建一个选择查询,该查询从表中返回基于日期的最近记录。基本上哪个行的[Date]字段最接近当前日期。根据日期选择最新记录

样本数据:

ID  Content   Date 
-------------------------------------------- 
1 1050 Test Values 2013-11-27 10:46:24.900 
2 1051 Test Test  2013-11-27 10:47:43.150 
3 1057 Test Testx2 2013-11-27 10:48:22.820 

我想只返回这些值

ID  Content   Date 
-------------------------------------------- 
1 1057 Test Testx2 2013-11-27 10:48:22.820 

谢谢!

+0

什么DB引擎您使用的? –

+0

我们正在使用SQL Server 2008 –

+0

尝试:SELECT TOP 1 * FROM ORDER BY日期DESC – CodeChops

回答

2
Select TOP 1 * 
from Table 
order by [Date] DESC 
+0

不,这会给出最旧的条目,并且不会工作,因为您没有指定要选择的字段或'*'。 –

+0

@Thorten谢谢!我花了几秒钟在管理工作室检查它,因为我不记得TOP – Christos

+0

的语法,这工作。我只是把'*'改成了我需要的字段。 –

0
SELECT TOP 1 * FROM Table ORDER BY [Date] DESC 

这从最高日最低排序后返回从第一条记录的所有字段。基本上这会返回最新的条目。

0
SELECT TOP 1 ID,Content,Date FROM <TABLE_NAME> ORDER BY Date 
+1

错误的排序顺序。 –

0

或者,如果你希望你的查询,以便对任何数据库管理系统(不仅仅是SQL Server)的工作,使用ANSI SQL

select * from t order by Date desc limit 1 

select * from t where Date = (select max(Date) from t)