Я пытаюсь получить первое значение из каждой группы моих данных. Однако мне не нравится использовать предложение внешнего запроса / with. Не могли бы вы сообщить мне, как я могу написать это элегантно, не используя внешний запрос?
Я использовал внешний запрос для получения первого значения из каждой группы. Однако не могли бы вы помочь мне написать это элегантным образом в том же sql. Есть ли какая-нибудь функция, такая как Max, Min, которая даст нам первое значение, чтобы мне не приходилось писать этот внешний запрос
select *
from (
select subject_id,hadm_id,
rank() OVER (PARTITION BY subject_id ORDER BY row_id) AS BG_CG_number
from labevents
where itemid in ('50809','50931','51529')
AND valuenum > 110
and hadm_id is not null
) t1
where t1.bg_cg_number = 1
Найдите на снимке экрана ниже текущий и ожидаемый результат