У меня есть данные, в которых указана конкретная дата (гггг-мм-дд) с указанием города и значения
-------------------------------------
city | date | value
-------------------------------------
city A | 2018-05-01 | 10
city A | 2018-04-03 | 15
city A | 2019-01-03 | 9
city A | 2019-05-01 | 13
city B | 2019-05-01 | 12
city B | 2019-02-12 | 11
, и я хотел бы получить первое значение для каждого года, разделенного по городам, в следующемстолбец:
--------------------------------------------------
city | date | value | first_value_year_by_city
--------------------------------------------------
city A | 2018-05-01 | 10 | 15
city A | 2018-04-03 | 15 | 15
city A | 2019-01-03 | 9 | 9
city A | 2019-05-01 | 13 | 9
city B | 2019-05-01 | 12 | 11
city B | 2019-02-12 | 11 | 11
Для этого я использовал SQL:
select *,
,first_value(value) over(partition by city order by date rows between unbounded preceding and unbounded following) as first_value_year_by_city
from table
Но я не мог поставить datepart (год, дата) = 2018 и datepart (год, дата) = 2019 вfirst_value ().Как мы можем это сделать?