Middle
Cum se împart datele în grupuri folosind funcții de fereastră în SQL?
sobes.tech AI
Răspuns de la AI
Funcțiile de fereastră în SQL permit efectuarea de calcule pe grupuri de rânduri, fără a reduce rezultatul la un singur rând, ca în cazul GROUP BY. Ele lucrează cu un set de rânduri (fereastră) definit pentru fiecare rând.
Pentru a împărți datele în grupuri și a aplica funcții de fereastră, se folosește construcția OVER (PARTITION BY ...). De exemplu:
SELECT
employee_id,
department_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Aici, datele sunt împărțite în grupuri după department_id, iar în interiorul fiecărui grup se calculează rangul salariului.
Astfel, funcțiile de fereastră permit analizarea datelor pe grupuri, păstrând toate rândurile tabelului original.