SQL-запрос: сводные данные к 1-й и 2-й дате - PullRequest
0 голосов
/ 05 июля 2019

У меня есть эта таблица в Microsoft SQL Server:

 Id   Date   Value
 111  1/1/19 1
 111  2/1/19 2
 222  5/1/19 4
 222  4/1/19 3 

Есть ли способ, которым я могу переставить данные примерно так:

 Id   OldDate  NewDate  OldValue NewValue
 111  1/1/19   1/2/19   1        2
 222  4/1/19   5/1/19   3        4

1 Ответ

1 голос
/ 05 июля 2019

Использование lag():

select t.*
from (select t.*,
             lag(date) over (partition by id order by date) as prev_date,
             lag(value) over (partition by id order by date) as prev_value
      from t
     ) t
where prev_date is not null;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...