Junior — Middle
Դուք ունե՞ք փորձ SQL հարցումների ժամանակ պատուհանային ֆունկցիաների օգտագործման հետ։
sobes.tech AI
Պատասխան AI-ից
Այո, SQL հարցումների հետ աշխատելիս ես օգտագործել եմ պատուհանի ֆունկցիաներ (window functions): Դրանք թույլ են տալիս կատարել հաշվարկներ, որոնք կապված են ընթացիկ տողի հետ, առանց արդյունքները խմբավորելու, ինչը օգտակար է վերլուծությունների և բարդ հարցումների համար:
Հիմնական պատուհանի ֆունկցիաներ՝
ROW_NUMBER()— տողերի համարանիշը պատուհանումRANK(),DENSE_RANK()— դասակարգում հաշվի առնելով հավասարություններըSUM(),AVG(),COUNT()— ամփոփիչ ֆունկցիաներ պատուհանի վրա
Օրինակ՝ ստանալ աշխատակիցների ցանկ՝ նրանց աշխատավարձերով և բաժնի համարանիշով՝ նվազման կարգով:
SELECT
employee_id,
department_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Այստեղ, PARTITION BY բաժանում է տվյալները բաժինների վրա, իսկ ORDER BY սահմանում է կարգը յուրաքանչյուր բաժնում: Պատուհանի ֆունկցիաները թույլ են տալիս կատարել բարդ վերլուծական հարցումներ՝ առանց մանրամասների կորուստի։