Sobes.tech
Middle

Ի՞նչ են 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;

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

Վահանակային ֆունկցիաները օգտակար են վերլուծությունների, հաշվետվությունների և բարդ հաշվարկների համար, որտեղ անհրաժեշտ է տեսնել յուրաքանչյուր տողի կոնտեքստը մյուսների նկատմամբ: