获取在SQL Server 2005中

问题描述:

基于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 ...

想必你有可以用来确定这是最新的记录表中​​的日期时间,所以你可以使用这个:

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

如果你没有这样的一个指示记录何时被创建的日期时间字段,那么你需要另一个可用于暗示相同的字段(例如,一个IDENTITY字段,其中数字越大,记录越近) - 方法与上述相同。

+0

日期时间没有足够的分辨率(3ms是相当长的时间...)来可靠地指出哪个记录​​是最新的。至少不是所有情况。使用自动增量列来排列行是更好的解决方案。 – Kaniu 2010-02-26 15:12:02