
値が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 句から削除します。