Consulta SQL para encontrar 3 registros consecutivos y datos respectivos

Consulta SQL para encontrar 3 registros consecutivos y datos respectivos

Es necesario seleccionar los datos cuyos valores sean >= 0,7 y aparezcan al menos 3 veces consecutivas.

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

El problema es que puedo seleccionar los datos que son >=0,7 y que aparecen 3 veces pero no son consecutivos. Cualquier ayuda muy apreciada.

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

Si necesita más información por favor pregunte. La base de datos es enorme y cada columna se registra como "InterventionID". Arriba están los criterios de búsqueda. Una vez hecho esto, puedo poner esto en la tabla temporal y luego extraer el registro. Esperando algún tipo de solución.

Gracias

Respuesta1

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

Si no hay una serie, elimínela de los conjuntos de campos y de la cláusula PARTICIÓN POR.

información relacionada