Sobes.tech
Junior — Middle

Máte skúsenosti s používaním okienkových funkcií pri práci s SQL dotazmi?

sobes.tech AI

Odpoveď od AI

Áno, pri práci s SQL dotazmi som používal okienkové funkcie (window functions). Umožňujú vykonávať výpočty nad súborom riadkov, ktoré sú spojené s aktuálnym riadkom, bez zoskupovania výsledkov, čo je užitočné pre analýzy a zložité dotazy.

Hlavné okienkové funkcie:

  • ROW_NUMBER() — číslovanie riadkov v okne
  • RANK(), DENSE_RANK() — radenie s ohľadom na rovnosti
  • SUM(), AVG(), COUNT() — agregačné funkcie nad oknom

Príklad: získať zoznam zamestnancov s ich platmi a poradovým číslom podľa oddelenia v zostupnom poradí platu:

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

Tu PARTITION BY rozdeľuje údaje podľa oddelení a ORDER BY určuje poradie v rámci každého oddelenia. Okienkové funkcie umožňujú vykonávať zložité analytické dotazy bez straty detailov.