Sobes.tech
Middle

Jak rozdělit data do skupin pomocí okenních funkcí v SQL?

sobes.tech AI

Odpověď od AI

Funkce okna v SQL umožňují provádět výpočty nad skupinami řádků, aniž by výsledek zjednodušily na jeden řádek, jako při použití GROUP BY. Pracují s množinou řádků (oknem), která je definována pro každý řádek.

Pro rozdělení dat do skupin a použití funkcí okna se používá konstrukce OVER (PARTITION BY ...). Například:

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

Zde jsou data rozdělena do skupin podle department_id, a uvnitř každé skupiny je vypočítán žebříček platů.

Tímto způsobem funkce okna umožňují analyzovat data podle skupin, přičemž si zachovávají všechny řádky původní tabulky.