Sobes.tech
Middle

Ինչպես բաժանել տվյալները խմբերով՝ օգտագործելով պատուհանային ֆունկցիաներ SQL-ում?

sobes.tech AI

Պատասխան AI-ից

SQL-ի պատուհանային ֆունկցիաները թույլ են տալիս կատարել հաշվարկներ տողերի խմբերի վրա, առանց արդյունքը մեկ տող դարձնելու, ինչպես GROUP BY-ի դեպքում: Նրանք աշխատում են տողերի հավաքածուի (պատուհանի) վրա, որը սահմանված է յուրաքանչյուր տողի համար:

Տվյալները բաժանելու և պատուհանային ֆունկցիաները կիրառելու համար օգտագործվում է OVER (PARTITION BY ...) կառուցվածքը: Օրինակ՝

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

Այստեղ տվյալները բաժանվում են խմբերի department_id-ի հիման վրա, և յուրաքանչյուր խմբի ներսում հաշվարկվում է աշխատավարձի դասը:

Այսպիսով, պատուհանային ֆունկցիաները թույլ են տալիս տվյալների վերլուծություն խմբերով, միաժամանակ պահելով սկզբնական աղյուսակի բոլոր տողերը։