![Consulta SQL para encontrar 3 registros consecutivos y datos respectivos](https://rvso.com/image/1585729/Consulta%20SQL%20para%20encontrar%203%20registros%20consecutivos%20y%20datos%20respectivos.png)
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.