答案 0 :(得分:0)
为什么交错的开始/结束日期很重要?只要您可以确定记录属于哪一年,您就可以执行以下操作:
SELECT *
FROM <Table_Name>
QUALIFY RANK() OVER(PARTITION BY ID_Number, Year ORDER BY <Some_Expression>) = 1
这将为每个(ID /年)组合创建一个分区(组),然后您可以根据需要进行处理。使用<Some_Expression>
对行进行排序,以便包含要显示的数据的行在顶部排序。 RANK = 1将仅返回每组的“顶部”行。
这与您正在寻找的一致吗?
答案 1 :(得分:0)
select *
from mytable
qualify max(year) over (partiton by license) -- example:
- min(year) over (partiton by license) -- 2017 - 2015 = 2
= count(*) over (partiton by license) - 1 -- three rows -1 = 2
and count(*) over (partiton by license) > 1
超过一年,这些年是连续的。