开发者社区> 问答> 正文

基于先前值的更改的更新标志

我有下表。需要sql,如果INPUT值有变化,则将FLAG更新为1,否则为0。

INPUT   START_DATE  PERSON_ID  FLAG
42707   2017-01-01  227317      0
40000   2018-01-01  227317      1
42400   2019-01-01  227317      1

展开
收起
祖安文状元 2020-01-05 14:44:03 408 0
1 条回答
写回答
取消 提交回答
  • 您可以使用lag():

    select t.*, 
           (case when lag(input, 1, input) over (partition by person_id order by start_date) = input
                 then 0 else 1 
            end) as FLAG
    from table t;
    
    2020-01-05 14:44:11
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
用计算和数据去改变整个世界 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载