首页 > 解决方案 > 如何提取下表中都有日期差异的记录?

问题描述

在此处输入图像描述

根据下图,我想提取最后一个结束日期与下一个开始日期不匹配的记录。(例如,第 2 行的结束日期为 2030 年,第 1 行的结束日期为 2031 年)

标签: sqlsql-server

解决方案


使用lead()

select t.*
from (select t.*,
             lead(startdate) over (partition by cardid, package order by startdate) as next_startdate
      from t
     ) t
where next_startdate <> enddate;

推荐阅读