Диапазон дат между последними 2 записями Sql Server 2008 - PullRequest
0 голосов
/ 04 августа 2010

Привет, учитывая, что у меня есть таблица с 2 столбцами.

Заказ столика Колонка Amount-TransactionDate

Получите мне общую сумму за последние 2 транзакцииДата.

Как вы это делаете? Как вы получаете последнюю транзакцию, кроме 01 Есть предложения?

1 Ответ

1 голос
/ 04 августа 2010

Вы можете использовать общее табличное выражение (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
;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...