Funkcje Window PostgreSQL odgrywają ważną rolę w aplikacjach analitycznych. Funkcje Window ułatwiają użytkownikom wykonywanie funkcji obejmujących wiele wierszy i zwracanie również taką samą liczbę wierszy w odpowiedzi. Funkcje Window PostgreSQL różnią się tym samym mocno od innych funkcji agregujących ponieważ te ostatnie mogą zwrócić tylko jeden wiersz.
Wyobraźmy sobie, że mamy tabelę pracownicy, w której mamy identyfikator pracownika, wynagrodzenie i nazwą przedziału. Ale zamiast sobie wyobrażać tabelę to po prostu ją stwórzmy:

Tabela została pomyślnie utworzona, wiemy o tym ponieważ otrzymujemy wiadomość w konsoli:

Teraz wstawimy nieco danych do tabeli:

Najłatwiejszym sposobem zrozumienia działania funkcji Window jest rozpoczęcie działania na danych przy użyciu funkcji agregujących. Jak już wcześniej wspomniałam, funkcja agregująca agreguje dane z zestawu wierszy w jeden wiersz. W poniższym przykładzie zastosowano funkcję agregującą AVG() do wyliczenia średniej pensji wszystkich pracowników w tabeli pracownicy:

W wyniku zapytania dostajemy jeden wiersz wyniku:

Załóżmy teraz, że chcesz wyświetlić średnią pensję pracowników wg przedziałów. Możesz to osiągnąć za pomocą poniższego zapytania:

W wyniku powyższego zapytania otrzymujemy na wyjściu:

Jeżeli użylibyśmy oprócz funkcji agregującej AVG() również GROUP BY tak jak poniżej:

Otrzymalibyśmy na wyjściu:
