🏂 Сначала вспомнили про скользящее среднее, его нужно было найти за 7 предыдущих дней. Для этого есть конструкция rows between:
avg(score) over (
partition by child_id order by behavior_date
rows between 6 preceding and current row
) as avg_rolling_7_days
Я про нее писала в начале года, но к этому моменту все равно забыла, что можно циферками задавать промежуток)
Дальше задачка на полнотекстовый поиск, такого я не ожидала😁 По итогу познакомилась с несколькими функциями и операторами:
to_tsvector
to_tsquery
ts_rank
setweight
@@
Потом пошли парсить xml и считать количество зарегавшихся пассажиров. Автор использовал cross join lateral, ну а я нашла другой способ, он мне нравится больше:
cardinality(xpath('/manifest/passengers/passenger', manifest_xml)) as passengers_count
В предпоследний день искали пути от одной точки до другой и задействовали recursive cte
Ну вот и почти все! Сегодня будет последнее задание 🥲
🏴 Фразы дня
barrel straight down the hill - нестись вниз по склону
circuitous path - окольный, окружной путь
mind-bending - сложный
schlep - волочиться
winding route - извилистый маршрут
📍 Advent of SQL (с впн)
📍 SQL Advent Calendar (с впн)
📍 Мои решения
@data_engineerette