Sobes.tech
Junior — Middle

Môžete vysvetliť, čo sú okienkové funkcie v SQL?

sobes.tech AI

Odpoveď od AI

Funkcie okna v SQL sú funkcie, ktoré umožňujú vykonávať výpočty na súbore riadkov spojených s aktuálnym riadkom, bez zoskupovania výsledkov do jedného riadku, ako je to pri agregačných funkciách. Sú užitočné na výpočet pohyblivých súm, radenia, kumulatívnych hodnôt a pod.

Príklad funkcie okna je ROW_NUMBER(), ktorá čísluje riadky v rámci definovaného okna:

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

Tu sú pre každý oddiel (partition) riadky číslované zostupne podľa platu, ale všetky riadky zostávajú v výsledku.