tags:

views:

15

answers:

1

Hi Given that I have a table with 2 columns.

Table Booking Column Amount-TransactionDate

Get me total Amount between Last 2 transactionDate.

How do you do that ?How do you get the last transaction but 01 Any suggestions?

+1  A: 

You can use a common table expression (CTE) to assign a sequence number to each row based on descending order of the transaction date. And then select the rows with a filter to get the last 2 rows.

This query displays the last two transactions in the table

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
;

This query give you the total amount for the last two transactions.

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
;
bobs
Hi, What you have done is more or less exactly what I need.However I need to get o1 single record the Sum(Amount)Thanks for your help