![Consulta SQL para encontrar 3 registros consecutivos e respectivos dados](https://rvso.com/image/1585729/Consulta%20SQL%20para%20encontrar%203%20registros%20consecutivos%20e%20respectivos%20dados.png)
É necessário escolher os dados onde os valores são> = 0,7 e aparecem pelo menos 3 vezes consecutivas
hourly recorded per day
Hours 00 0100 0200 0300 0400 0500
ValueNumber .7 .8 .5 .4 .8 .85 so on
O problema é que posso escolher os dados que são> = 0,7 e aparecem 3 vezes, mas não são consecutivos. Qualquer ajuda muito 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
Se precisar de mais informações, por favor pergunte. O banco de dados é enorme e cada coluna é registrada como "InterventionID". Acima estão os critérios de pesquisa. Uma vez feito isso, posso colocar isso na tabela temporária e depois extrair o registro. Ansioso por algum tipo de solução.
Obrigado
Responder1
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
Se não houver série, remova-a dos conjuntos de campos e da cláusula PARTITION BY.