最近2条记录之间的日期范围Sql Server 2008

问题描述:

Hi鉴于我有一个2列的表。最近2条记录之间的日期范围Sql Server 2008

表预订 列金额-TransactionDate

获取最后2 transactionDate之间我总金额。

你是怎么做的?你如何得到最后的交易,但是01 有什么建议吗?

您可以使用公用表表达式(CTE)根据交易日期的降序为每行分配序号。然后选择带有过滤器的行以获取最后2行。

该查询显示前两个交易表

WITH BookingCTE AS (
    SELECT ROW_NUMBER() OVER (ORDER BY TransactionDate DESC) as Sequence, 
     Amount, TransactionDate 
    FROM Booking 
    ) 

SELECT Sequence, Amount, TransactionDate 
FROM BookingCTE 
WHERE Sequence <= 2 
; 

此查询给你的最后两笔交易的总金额。

WITH BookingCTE AS (
    SELECT ROW_NUMBER() OVER (ORDER BY TransactionDate DESC) as Sequence, Amount, TransactionDate 
    FROM Booking 
    ) 

SELECT SUM(Amount) AS TotalAmount 
FROM BookingCTE 
WHERE Sequence <= 2 
; 
+0

嗨,你所做的是或多或少正是我所需要的。 但是我需要得到o1单笔记录金额(金额) 感谢您的帮助 – user9969 2010-08-04 19:14:45