繁体   English   中英

SQL查询:在第1和第2日期之前进行数据透视

[英]SQL query: pivot data by 1st and 2nd date

我在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

使用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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM