Как стать автором
Обновить
31
0
Евгений Муравьев @evgmur

Data Engineer

Отправить сообщение
Мне показалось, что задача очень похожа на задачку от известного (для тех, кто сталкивался с T-SQL) Ицика Бен-Ган www.itprotoday.com/t-sql/last-non-null-puzzle
Не совсем точно перевел с T-SQL, но вроде работает, и для одного значения получается компактнее. Не исключаю, что мог что-то упустить в условии…
SELECT price.*
    ,SUBSTRING(
        MAX(start_date::text||(CASE WHEN kind = 'R' THEN price1 ELSE NULL END))
        OVER(PARTITION BY prod_id ORDER BY start_date ASC ROWS UNBOUNDED PRECEDING), 
     LENGTH(start_date::text)+1)::decimal AS real_price
FROM price

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
Middle
Python
Git
SQL
Linux
Docker
AWS
Apache Airflow
ETL
DWH