2010-08-04 132 views

回答

1

您可以使用公用表表达式(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

相关问题