Sobes.tech
Middle

Šta su funkcije prozora u SQL i zašto se koriste?

sobes.tech АИ

Одговор од АИ

Функције прозор (window functions) у SQL-у су функције које извршавају калкулације над скупом редова који су повезани са тренутним редом, без груписања резултата у један ред, као што је случај са агрегатним функцијама.

Оне омогућавају, на пример, калкулацију кретајућих сума, рангирање редова, калкулацију кумулативних сума, средњих вредности итд., при чему се задржава оригинални број редова у резултату.

Пример коришћења функције прозора ROW_NUMBER():

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

Овде, за сваког запосленог, израчунава се његов ранг по плати унутар одељења, при чему се задржавају све редове.

Функције прозора су корисне за анализе, извештаје и сложене калкулације где је потребно видети контекст сваког реда у односу на друге.