Нет более обманчивого раздела SQL, чем «оконные функции». Когда слышишь эти слова, думаешь «наверно, просто придумали какие-то дополнительные функции». Бросаешь взгляд в доку, видишь
row_number(), думаешь «ну точно, так и есть».А вот и нет! «Оконные функции» — это отдельный доменный язык, встроенный в обычный SQL. И он сложнее, чем все, что вы знали о селектах, вместе взятое (включая фильтрацию, группировку и сортировку).
Чтобы полноценно объяснить оконные функции, по ним надо писать книгу или делать отдельный курс. Поэтому вот что я планирую:
1) Объяснить, что такое «окно» в SQL и как оно работает.
2) Показать некоторые частые задачи, которые решают с помощью оконных функций.
Освоив эти два пункта, вы сможете «добрать» недостающее из документации СУБД (а вот начинать с документации не советую, она суховата).
Если у вас есть конкретные вопросы по «окошкам» в SQL — напишите в комментариях, постараюсь учесть.