Advent of SQL. Days 11-14 🏂 Сначала вспомнили про скользящее среднее, его нужно было найти за 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
В этом посте были ссылки, но мы их удалили по правилам Сетки