Я с удивлением обнаружил, что многие разработчики, даже давно использующие postgresql, не понимают оконные функции, считая их какой-то особой магией для избранных. Ну или в лучшем случае «копипастят» со StackOverflow выражения типа «row_number() OVER ()», не вдаваясь в детали. А ведь оконные функции — полезнейший функционал PostgreSQL.
Попробую по-простому объяснить, как можно их использовать.
Давным-давно (года 2 назад) судьба меня закинула на Мамбу. Совсем не в поисках второй половинки, скорее это было задание по работе. Задание было быстро выполнено, но с мамбы я после этого не ушел. Проект стал мне интересен именно как бизнес, пусть и чужой. И все это время я занимался лишь тем что ставил там эксперименты. Ни ради какой то выгоды, а скорее ради интереса. Сегодня своими наблюдениями я хотел бы поделиться с вами. Писать буду частями, в которых расскажу: