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 okneRANK(),DENSE_RANK()— radenie s ohľadom na rovnostiSUM(),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.