Примеры работают в PostgreSQL, однако мы основное внимание уделим логике работы, которая заложена в сам принцип работы оконных функций и применяется в других SQL-диалектах – поэтому вы без труда сможете применять полученные знания практически в любой БД, делая поправку на синтаксис используемого диалекта. Также отметим — так как это вводная статья, мы решили ограничиться описанием базовых оконных функций, которые, вероятно, покроют 90% задач, в которых эти функции необходимы. Во второй статье углубимся в код, рассмотрим оконные функции с фреймами, а также познакомимся с другими оконными конструкциями, нередко помогающими в работе аналитику.
Много мелких неточностей и умолчаний, новичок, наткнувшись на них, скорее потеряет время впустую, чем разберется благодаря этому материалу. Запрос в примере "агрегат на агрегате" некорректен потому что в orders нет никакого func_sum ну и запрос без group by type не выполнится. Такой запрос скорее сведёт с ума в попытке понять от чего предостерегает автор.
А где Вы нашли неточности? Мне как изучающему просто интересно - я ошибок не нашел. Как по мне - статья написана просто для новичка в оконных функциях. Просто дабы избежать большого кол-ва кода (создание доптаблиц, подзапросов) здесь это не показано. Имхо понятнее так, чем читать 3-4 страницы с лишним объяснением select from (select ...), create as select ну и тд. Статья мне зашла. Показывает ошибки, на которые я натыкался сам. В запросе func_sum нет group by, но здесь акцентировано внимание на ошибке в логике, а не на корректном запросе, в угоду компактности статьи. Запрос ошибочен, но смысл имхо другой. 3 основных "оконных" кода, о которых пишет автор - корректны. По крайней мере я как новичок написал бы именно так.
Кажется кто-то в тиктоке увидел шутку про оконные функции и решил написать статью, вот только хабровским окном ошибся :)
Комментарий недоступен
Статьи для разработчиков публикуют не только на Хабр. Много кейсов для разработчиков вы можете найти в разделе "Разработка" https://vc.ru/dev
Комментарий недоступен
Если вы работаете с SQL и анализом данных, то можете столкнуться с похожей задачей. Описанный практический пример может сэкономить время на поиск и чтение дополнительных материалов.