Sobes.tech
Middle

Čo sú okienkové funkcie v SQL a na čo slúžia?

sobes.tech AI

Odpoveď od AI

Funkcie okien (window functions) v SQL sú funkcie, ktoré vykonávajú výpočty nad množinou riadkov spojených s aktuálnym riadkom, bez toho, aby výsledky zoskupovali do jedného riadku, ako je to pri agregačných funkciách.

Umožňujú napríklad vypočítať pohybové súčty, zoradiť riadky, vypočítať kumulatívne súčty, priemery a pod., pričom zachovávajú pôvodný počet riadkov vo výsledku.

Príklad použitia funkcie okien 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;

Tu sa pre každého zamestnanca vypočíta jeho poradie podľa platu v rámci oddelenia, pričom všetky riadky zostávajú zachované.

Funkcie okien sú užitočné pre analýzy, správy a zložité výpočty, kde je potrebné vidieť kontext každej riadky vo vzťahu k ostatným.