2010-02-26 101 views
0

基於ID的最後一個值考慮我的查詢,獲取在SQL Server 2005中

Select EmpId,RemainingBalance from Salary where EmpId='15'

我的結果窗格中,

15 450.00
15 350.00
15 250.00

如何獲得最後的餘額餘額(i E)250.00 ...

回答

1

想必你有可以用來確定這是最新的記錄表中​​的日期時間,所以你可以使用這個:

SELECT TOP 1 EmpId, RemainingBalance 
FROM Salary 
WHERE EmpId = '15' 
ORDER BY SomeDateTimeField DESC 

如果你沒有這樣的一個指示記錄何時被創建的日期時間字段,那麼你需要另一個可用於暗示相同的字段(例如,一個IDENTITY字段,其中數字越大,記錄越近) - 方法與上述相同。

+0

日期時間沒有足夠的分辨率(3ms是相當長的時間...)來可靠地指出哪個記錄​​是最新的。至少不是所有情況。使用自動增量列來排列行是更好的解決方案。 – Kaniu 2010-02-26 15:12:02