首页 > 解决方案 > SQL 语句用于计算“Column_a”从前一天更改的所有行

问题描述

我正在寻找一个 SQL 查询来计算从前一天更改为“column_a”的所有行。该表有一个日期列“historyDate”。提前致谢。

标签: sqlazure-databricks

解决方案


如果每天只有一行,那么您可以使用lag()

select t.*
from (select t.*, lag(column_a) over (order by historydate) as prev_column_a
      from t
     ) t
where prev_column_a <> column_a;

注意:这假设column_a是 never NULL。可以调整逻辑来处理这个问题,但它变得有点复杂。


推荐阅读