Oracle中识别具有连续12个月日期的ID
问题需求
我有一张包含id和date列的表,需要为日期满足特定条件的ID计算统计值:
- 若某ID的日期包含2021年1月至3月、2021年6月至2022年6月这两个区间,则统计该ID的连续12个月数量
- 不满足上述条件的ID,统计值设为0
现有SQL代码
SELECT DISTINCT id, COUNT(DISTINCT TRUNC(date,'MONTH')) OVER(PARTITION BY id) AS Continuous_Month_Count FROM Table1 WHERE date BETWEEN '01-JAN-2021' AND '31-DEC-2022'
预期结果表
表包含两列:
id:唯一标识字段Continuous_Month_Count:符合条件的ID显示连续12个月的统计数量,不符合条件的显示0
数据集说明
数据集包含id和date两列,存储了不同ID对应的日期记录,日期覆盖2021年至2022年的多个月份。
内容的提问来源于stack exchange,提问作者MDMP
相关产品推荐
相关产品推荐

