Sobes.tech
Middle

Co jsou okénkové funkce v SQL a k čemu slouží?

sobes.tech AI

Odpověď od AI

Okénkové funkce (window functions) v SQL jsou funkce, které provádějí výpočty nad sadou řádků spojených s aktuálním řádkem, aniž by výsledky seskupovaly do jednoho řádku, jak je tomu u agregačních funkcí.

Umožňují například vypočítat klouzavé součty, řadit řádky, počítat kumulativní součty, průměry apod., přičemž zachovávají původní počet řádků ve výsledku.

Příklad použití okénkové funkce 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;

Zde se pro každého zaměstnance vypočítá jeho pořadí podle platu v rámci oddělení, přičemž všechny řádky zůstávají zachovány.

Okénkové funkce jsou užitečné pro analýzy, reporty a složité výpočty, kde je třeba vidět kontext každého řádku vzhledem k ostatním.