Junior — Middle
Aveți experiență în utilizarea funcțiilor de fereastră atunci când lucrați cu interogări SQL?
sobes.tech AI
Răspuns de la AI
Da, în lucrul cu interogări SQL, am folosit funcții de fereastră (window functions). Acestea permit efectuarea de calcule asupra unui set de rânduri legate de rândul curent, fără a grupa rezultatele, ceea ce este util pentru analize și interogări complexe.
Funcții principale de fereastră:
ROW_NUMBER()— numerotarea rândurilor în fereastrăRANK(),DENSE_RANK()— clasificare ținând cont de egalitățiSUM(),AVG(),COUNT()— funcții agregate pe fereastră
Exemplu: obțineți o listă de angajați cu salariul lor și numărul de ordine pe departament în ordine descrescătoare a salariului:
SELECT
employee_id,
department_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Aici, PARTITION BY împarte datele pe departamente, iar ORDER BY stabilește ordinea în fiecare departament. Funcțiile de fereastră permit realizarea de interogări analitice complexe fără a pierde detalii.