Я только что нашел эту проблему в запросе: (Извините, я попытаюсь упростить определения таблиц и сократить детали. Если вам нужно еще немного, сообщите, пожалуйста, меня).Получение min и max секционированных данных с помощью фильтра
У меня есть стол с (ID, date, status)
. ID
является FK, date
является датой, а status
является значением int от 1
и 5
. Оба значения date
и status
допускают нулевые значения. Также допускаются повторяющиеся значения.
Что мне нужно: Extract один ряд для каждого ID
, min(date)
, имеющего статус 1
или 2
, min(date)
, имеющую status
из 2
(только), max(status)
...
Я полностью потерял .. . Я пытаюсь использовать
SELECT
ID,
min(date) over (partition by(status)) ?? as min_12_date,
min(date) over (partition by(status)) ?? as min_2_date,
max(status) as max_status
FROM table
group by ID
Итак, вопрос в том, верен ли он? Как я могу выбрать только status
?
Спасибо большое! Я был запутан с разделами ... – Tistkle