2013-11-27 252 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)