我有一张表格,其中包含根据期间的值
我只选择更改
例:
表格栏:
Member
Status
Period
Run Code Online (Sandbox Code Playgroud)
表格数据:
会员身份期限
----------------------
斧1
斧2
AY 3
AY 4
BX 1
BX 2
BX 3
BZ 4
我想查询返回这样的东西
Member A Status change X to Y Period 2 to 3
Member B Status change X to Z Period 3 to 4
Run Code Online (Sandbox Code Playgroud)
我遇到了问题,因为Oracle不允许在子查询中进行排序
任何查询的想法?
您可以为此使用窗口函数:
select *
from (
select member,
status,
period,
lag(status) over (partition by member order by period) as prev_status,
lag(period) over (partition by member order by period) as prev_period
from the_table
)
where status <> prev_status
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3519 次 |
| 最近记录: |