sql - SQL - 根据日期比较行并转置差异
问题描述
设想:
表'HIST'
RID | 价值 | HIST_DATE |
---|---|---|
1 | V111 | 2019-01-01 |
1 | V112 | 2020-02-11 |
1 | V112 | 2020-03-08 |
1 | V113 | 2020-04-11 |
1 | V114 | 2021-03-15 |
2 | V211 | 2020-04-11 |
2 | V211 | 2021-03-16 |
3 | V311 | 2019-05-01 |
3 | V312 | 2020-01-01 |
预期输出:
RID | VALUE_OLD | VALUE_NEW |
---|---|---|
1 | V113 | V114 |
我想显示列 'VALUE' 按 RID 分组的行之间的差异,其中 HIST_DATE 在'2020-03-31'和'2021-04-01'之间
然后转置“VALUE_OLD”和“VALUE_NEW”列中的不同值。
注意:假设在这些日期之间只能出现 2 个不同的值
甲骨文 SQL
解决方案
假设在这些日期之间只能出现 2 个不同的值
select distinct RID,
first_value(VALUE) over(order by HIST_DATE) VALUE_OLD,
first_value(VALUE) over(order by HIST_DATE desc) VALUE_NEW
from HIST
where HIST_DATE between date '2020-03-31' and date '2021-04-01'
推荐阅读
- javascript - 添加响应式轮播的问题
- reactjs - 带有验证的表单组件是否仍然具有演示性?还是我应该把它做成一个容器?
- javascript - 基于另一个属性访问 React 组件的属性
- python-3.x - 具有健谈输出的 Ludo 游戏
- azure - 从 SAP 将文件发送到 Azure 存储 BLOB
- angular - ErrorHandler:与promise一起使用时无法获取错误对象
- java - 尝试每 5 个令牌
- ms-access - 如何在 MS Access 中修复我的宏的错误处理程序
- php - 重写规则部分重写 url
- arrays - MongoDB - 查找具有数组组合的任何文档