У меня есть случай, когда мне нужно найти мин. Date_1
, Date_2
и макс. dateEnd
.
. Ожидаемый результат - это когда Date_1
, Date_2
имеют равные значения a в последовательном ряду, то мин. Date_1
, мин. Date_2
, макс. dateEnd
, где нарушается конструктивность.
Пожалуйста, дайте мне знать, если требуется какое-либо разъяснение.
Код, который я использовал:
SELECT DISTINCT
DAY,
county,
CASE WHEN (Date_2 > Date_1) THEN (region) ) then (region)
WHEN (Date_2 = Date_1) THEN MIN(region) Over (Partition By DAY, county)
ELSE region
END AS region,
CASE WHEN (Date_2 > Date_1) THEN handoff_date
WHEN (Date_2 = Date_1) THEN MIN(handoff_date) Over (Partition By DAY, county)
END AS date2,
CASE WHEN (Date_2 = Date_1) THEN MIN(Date_1) Over (Partition By DAY, county)
WHEN (Date_2 > Date_1) THEN (Date_1)
END AS date1,
CASE WHEN (Date_2 = Date_1) THEN MAX(Date_end) Over (Partition By DAY, county)
WHEN (Date_2 > Date_1) THEN (Date_end)
END AS dateEnd
FROM table
GROUP BY 1,2,3,4,5
Текущие и ожидаемые данные