Мне нужно найти непрерывные периоды данных с нулевым значением, превышающие 14 дней, в моей таблице базы данных и пометить их для внимания с помощью SQL
Я использую SQL Server 2016. Мои данные поступают в периодах даты и времени, который я свел к суммированию по дням.Я пометил дни с нулевыми значениями, но мне нужно, чтобы SQL циклически проходил по датам, выбирал непрерывные периоды больше 14 дней и предоставлял флаг столбца, как предупреждение.Когда ненулевые данные добавляются после этого, он сбрасывает флаг, а затем добавляет их снова, когда находит следующий период нулевых данных.
SELECT MeterID,
DT,
case
when cast(DT as date) >= cast(dateAdd(day,-14, GetDate()) as date) then 'No'
when cast(DT as date) < cast(dateAdd(day,-14, GetDate()) as date) and sum(VolumeL) > 0 then 'No'
else 'Yes' end as ZeroDayValue,
sum(VolumeL) as TotVolume
FROM "DWS_Leakage_Dev".PIT.MeterData15
where cast(DT as date) >= '2017-01-01' and cast(DT as date) <= getDate()
group by MeterID, DT
order by DT desc
Мне нужен SQL, чтобы пройти через весь набор данных и отмечать периоды, превышающие 14 дней непрерывных данных с нулем, по метрике, и я не знаю, как написать этот SQL.