Junior — Middle
Vysvětlete koncept okenních funkcí v systémech správy databází a jejich použití.
sobes.tech AI
Odpověď od AI
Funkce okna (window functions) v systémech správy databází (DBMS) umožňují provádět výpočty nad sadou řádků souvisejících s aktuálním řádkem, aniž by došlo ke skupinování dat. Rozšiřují možnosti agregačních funkcí tím, že poskytují výsledky pro každý řádek, přičemž zachovávají ostatní data.
Hlavní vlastnosti:
- Fungují na okně řádků definovaném pomocí
OVER(). - Lze určit pořadí (
ORDER BY) a rozdělení (PARTITION BY). - Umožňují výpočty posuvných součtů, žebříčků, kumulativních součtů atd.
Příklad použití v SQL:
SELECT
employee_id,
department_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Zde je pro každého zaměstnance vypočteno žebříčkové pořadí platu v rámci jeho oddělení.
V C# jsou funkce okna obvykle aplikovány pomocí LINQ nebo SQL dotazů na databáze podporující oknové funkce.