Ce sunt funcțiile de fereastră în SQL și pentru ce sunt utilizate?
sobes.tech AI
Răspuns de la AI
Funcțiile de fereastră (window functions) în SQL sunt funcții care efectuează calcule asupra unui set de rânduri legate de rândul curent, fără a grupa rezultatele într-un singur rând, așa cum se întâmplă cu funcțiile agregate.
Ele permit, de exemplu, calcularea sumelor mobile, clasificarea rândurilor, calcularea totalurilor cumulative, mediilor etc., păstrând numărul inițial de rânduri în rezultat.
Exemplu de utilizare a funcției de fereastră 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;
Aici, pentru fiecare angajat, se calculează rangul său în funcție de salariu în cadrul departamentului, păstrând toate rândurile.
Funcțiile de fereastră sunt utile pentru analiză, raportare și calcule complexe, unde este necesar să se vadă contextul fiecărui rând în raport cu celelalte.