Junior — Middle
Máte zkušenosti s používáním okenních funkcí při práci s SQL dotazy?
sobes.tech AI
Odpověď od AI
Ano, při práci s SQL dotazy jsem používal okénkové funkce (window functions). 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í výsledků, což je užitečné pro analytiku a složité dotazy.
Hlavní okénkové funkce:
ROW_NUMBER()— číslování řádků v okněRANK(),DENSE_RANK()— řazení s ohledem na shodySUM(),AVG(),COUNT()— agregační funkce nad oknem
Příklad: získat seznam zaměstnanců s jejich platem a pořadovým číslem podle oddělení v sestupném pořadí platu:
SELECT
employee_id,
department_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Zde PARTITION BY rozděluje data podle oddělení a ORDER BY určuje pořadí uvnitř každého oddělení. Okénkové funkce umožňují provádět složité analytické dotazy bez ztráty detailů.