Sobes.tech
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 shody
  • SUM(), 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ů.