Sobes.tech
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.