Таблица имеет схему TIMESTAMP, PATIENTID, ECGVALUE, и пример таблицы приведен ниже:
01.34 ANON 12
02.34 ANON 12
03.34 ANON 12
04.34 ANON 12
05.34 ANON 12
06.34 ANON 12
07.34 ANON 12
08.34 ANON 12
10.34 ANON 12
11.34 ANON 12
12.34 ANON 12
Теперь я хочу выбрать строки, которые на n или меньше максимальной отметки времени.Из таблицы выше мы видим, что для PATIENTID = 'ANON' максимальное значение TIMESTAMP составляет 12,34, теперь я хочу такой запрос SQL, чтобы shd мог выбирать все строки, которые 'n' меньше 12,34, где n может быть любым числом.Так далеко, я написал это, но это не работает.
WITH
rownums(TIMESTAMP, ECGVALUE, RN) AS (
SELECT TIMESTAMP, ECGVALUE ROW_NUMBER() OVER() AS RN
FROM EKLUND.DEV_RAWECG WERE PATIENID = 'ANON'
),
maxtime(MAXTM) AS (
SELECT MAX(TIMESTAMP) AS MAXTM FROM rownums
)
SELECT TIMESTAMP, ECGVALUE, RN FROM rownums
WHERE TIMESTAMP >= maxtime.MAXTM - 2;