ADD IMAGES LEFT JOIN(@leftjoin). Ограничение оконных функций ROWS: Часть 2 Теперь посмотрим, как работают UNBOUNDED PRECEDING и UNBOU
Обложка канала

LEFT JOIN

5709 @leftjoin

Канал Николая Валиотти об аналитике и визуализации данных, data science и BI

LEFT JOIN

4 года назад
Открыть в
Ограничение оконных функций ROWS: Часть 2 Теперь посмотрим, как работают UNBOUNDED PRECEDING и UNBOUNDED FOLLOWING. Перейдем сразу к практике: UNBOUNDED PRECEDING Давайте посчитаем средний возраст питомцев внутри одного вида, взяв окно с первого питомца до текущего по списку, отсортированному по возрастанию весов животных. В этом запросе нам помогут ключевые слова BETWEEN, CURRENT ROW, а также UNBOUNDED PRECEDING.
SELECT kind,
       name,
       weight,
       age,
       AVG(age) OVER (PARTITION BY kind ORDER BY weight
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
FROM animals
А что насчет UNBOUNDED FOLLOWING? UNBOUNDED FOLLOWING работает примерно так же, как UNBOUNDED PRECEDING. Посчитаем средний возраст питомцев внутри одного вида, взяв окно с текущего питомца до последнего по отсортированному по возрастанию весов животных списку. Для этого нам нужно использовать ключевые слова BETWEEN, CURRENT ROW (с которыми мы уже отлично подружились), а также UNBOUNDED FOLLOWING.
SELECT kind,
       name,
       weight,
       age,
       AVG(age) OVER (PARTITION BY kind ORDER BY weight
ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
FROM animals
Пишите в комментариях, какую оконную функцию разобрать следующей, и оставляйте реакцию, если вам нравится цикл постов про SQL! #leftjoin_sql