Sobes.tech
Middle

Czym są funkcje okienkowe w SQL i do czego służą?

sobes.tech AI

Odpowiedź od AI

Funkcje okienkowe (window functions) w SQL to funkcje, które wykonują obliczenia na zestawie wierszy powiązanych z bieżącym wierszem, bez grupowania wyników w jeden wiersz, jak ma to miejsce w funkcjach agregujących.

Pozwalają na przykład na obliczanie sum ruchomych, nadawanie rang wierszom, obliczanie sum skumulowanych, średnich itp., przy zachowaniu pierwotnej liczby wierszy w wyniku.

Przykład użycia funkcji okienkowej ROW_NUMBER():

SELECT
    employee_id,
    department_id,
    salary,
    ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank_in_dept
FROM employees;

Dla każdego pracownika obliczany jest jego ranking według wynagrodzenia w ramach działu, przy zachowaniu wszystkich wierszy.

Funkcje okienkowe są przydatne w analizie, raportowaniu i skomplikowanych obliczeniach, gdzie konieczne jest widzenie kontekstu każdej linii względem innych.