Получение предыдущей строки Поле Amount - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть таблица с несколькими столбцами PersonID, Amount и StartDate, предоставила 1 человека в качестве образца. Что я пытаюсь сделать, это рассчитать BeforeAmountCalculatedColumn автоматически, в основном выбирая, что предыдущие строки (по дате) сумма была. Как я мог это сделать?

Create Table #Results
(
    PersonID int,
    Amount money,
    StartDate datetime,
    BeforeAmountCalculatedColumn money
)

insert into #Results
(
    PersonID,
    Amount,
    StartDate,
    BeforeAmountCalculatedColumn
)
select
    1,
    '163.45',
    '30 Jan 2019',
    '202.70'
union all
select
    1,
    '202.70',
    '23 Nov 2018',
    '189.45'
union all
select
    1,
    '189.45',
    '28 Aug 2018',
    '0'

1 Ответ

2 голосов
/ 30 апреля 2019

Вы ищете lag()?

select r.*,
       lag(amount) over (partition by personid order by startdate) as BeforeAmountCalculatedColumn
from #Results r;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...