SQL-запрос для поиска 3 последовательных записей и соответствующих данных

SQL-запрос для поиска 3 последовательных записей и соответствующих данных

Необходимо выбрать данные, где значения >=0,7 и встречаются не менее 3 раз подряд, затем

            hourly recorded per day
Hours         00    0100  0200   0300   0400   0500 
ValueNumber   .7    .8    .5     .4     .8     .85     so on

Проблема в том, что я могу выбрать данные, которые >=0.7 и появляются 3 раза, но не последовательно. Любая помощь будет оценена по достоинству.

select distinct  encounterId, COUNT(valueNumber) 
FROM table pta 
where interventionId in (2201,2202)
  and pta.valueNumber >=0.7
  and pta.valueNumber is not null
group by encounterId 
having COUNT(hours)>=3

Если вам нужна дополнительная информация, пожалуйста, спрашивайте. База данных огромная, и каждый столбец записан как "InterventionID". Выше приведены критерии поиска, как только это будет сделано, я смогу поместить это во временную таблицу, а затем вытащить запись. С нетерпением жду какого-нибудь решения.

Спасибо

решение1

WITH cte AS ( SELECT series,
                     date_time,
                     value, 
                     LEAD(value) OVER (PARTITION BY series 
                                       ORDER BY date_time) lead1, 
                     LEAD(value, 2) OVER (PARTITION BY series 
                                          ORDER BY date_time) lead2
              FROM datatable 
              WHERE value >= 0.7 )
SELECT series, date_time, value
FROM cte
WHERE lead1 >= 0.7
  AND lead2 >= 0.7

Если серии нет, удалите ее из наборов полей и предложения PARTITION BY.

Связанный контент