Middle
Ի՞նչ նպատակով են օգտագործվում պատուհանային ֆունկցիաները SQL-ում:
sobes.tech AI
Պատասխան AI-ից
Վահանակային ֆունկցիաները SQL-ում իրականացնում են տվյալների ամփոփում տողերի հավաքածուում, որոնք կապված են ընթացիկ տողի հետ, բայց միաժամանակ չեն խմբավորում արդյունքների հավաքածուն։ Սա թույլ է տալիս կատարել հաշվարկներ, ինչպիսիք են կումուլյատիվ գումարները, մօտավոր միջինները կամ դասակարգումը, պահպանելով սկզբնական հարցման բոլոր տողերը:
Վահանակային ֆունկցիաների հիմնական նպատակները՝
- Դասակարգում: Յուրաքանչյուր տողին վերագրել ռանգը որոշակի վահանակում:
-- Ստանում ենք աշխատակիցների ռանգը աշխատավարձի հիման վրա յուրաքանչյուր բաժնում
SELECT
employee_name,
salary,
department,
RANK() OVER (PARTITION BY department ORDER BY salary DESC) as department_rank
FROM
employees;
- Վերլուծական տվյալների հաշվարկներ խմբի առանց խմբագրման: Տվյալների ամփոփում "վահանակում"՝ պահպանելով տողային մանրամասները:
-- Հաշվարկում ենք միջին աշխատավարձը ամբողջ բաժնի համար յուրաքանչյուր տողի համար
SELECT
employee_name,
salary,
department,
AVG(salary) OVER (PARTITION BY department) as avg_department_salary
FROM
employees;
- Համեմատում ընթացիկ տողը մյուս տողերի հետ վահանակում: Հասանելիություն նախորդ կամ հաջորդ տողերի տվյալներին:
-- Ստանում ենք նախորդ աշխատակցի աշխատավարձը բաժնում՝ նվազման կարգով
SELECT
employee_name,
salary,
department,
LAG(salary, 1, 0) OVER (PARTITION BY department ORDER BY salary DESC) as previous_salary
FROM
employees;
- Նախագծային հաշվարկներ՝ կումուլյատիվ գումարներ: Գումարների, միջինների և այլ ամփոփումների հաշվարկներ աճող կարգով:
-- Հաշվարկում ենք վաճառքների կումուլյատիվ գումարը ամսաթվով
SELECT
sale_date,
amount,
SUM(amount) OVER (ORDER BY sale_date) as cumulative_sales
FROM
sales;
Ի տարբերություն սովորական ամփոփիչ ֆունկցիաների (GROUP BY), վահանակային ֆունկցիաները չեն խցկում տողերը, ինչը նրանց դարձնում է հզոր գործիք վերլուծական հարցումների և տվյալների մանրամասն վերլուծության համար։