我正在使用配置单元sql server。在我的数据库中,我试图删除与上一条记录的间隔少于7天的记录,但在删除记录时,我想用“以前保留的记录”检查间隔,而不是用任何上一条记录。我想保留所有标记为1的记录,特别是rec#7,尽管第7个记录的间隔小于7,因为前一个记录正在被删除,第7个记录与第5个记录的间隔变为8。
ecfsfe2w1#
可以使用累积最大值:
select t.* from (select t.*, max(case when retained = 1 then intdate end) over (order by intdate rows between unbounded preceding and 1 preceding) as prev_intdate from t ) t where prev_intdate is null or prev_intdate > dateadd(intdate, 7);
1条答案
按热度按时间ecfsfe2w1#
可以使用累积最大值: