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-ի հիման վրա, և յուրաքանչյուր խմբի ներսում հաշվարկվում է աշխատավարձի դասը:
Այսպիսով, պատուհանային ֆունկցիաները թույլ են տալիս տվյալների վերլուծություն խմբերով, միաժամանակ պահելով սկզբնական աղյուսակի բոլոր տողերը։