获取在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字段,其中数字越大,记录越近) - 方法与上述相同。
日期时间没有足够的分辨率(3ms是相当长的时间...)来可靠地指出哪个记录是最新的。至少不是所有情况。使用自动增量列来排列行是更好的解决方案。 – Kaniu 2010-02-26 15:12:02