Ի՞նչ են SQL-ի պատուհանային ֆունկցիաները և ինչու են դրանք օգտագործվում:
sobes.tech AI
Պատասխան AI-ից
Վահանակային ֆունկցիաներ (window functions) SQL-ում՝ դա այն ֆունկցիաներ են, որոնք կատարում են հաշվարկներ կապակցված տողերի հավաքածուի վրա, կապված ընթացիկ տողի հետ, առանց արդյունքները մեկ տողում խմբավորելու, ինչպես դա կատարվում է ագրեգատային ֆունկցիաների դեպքում:
Նրանք թույլ են տալիս, օրինակ, հաշվարկել շարժական գումարներ, դասել տողերը, հաշվարկել կուտակային գումարներ, միջիններ և այլն, պահպանելով արդյունքի սկզբնական տողերի քանակը:
Օրինակ՝ ROW_NUMBER() վահանակային ֆունկցիայի կիրառումը:
SELECT
employee_id,
department_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank_in_dept
FROM employees;
Այստեղ յուրաքանչյուր աշխատակցի համար հաշվարկվում է նրա դասը աշխատավարձի հիման վրա բաժնի ներսում, պահպանելով բոլոր տողերը:
Վահանակային ֆունկցիաները օգտակար են վերլուծությունների, հաշվետվությունների և բարդ հաշվարկների համար, որտեղ անհրաժեշտ է տեսնել յուրաքանչյուր տողի կոնտեքստը մյուսների նկատմամբ: