Middle
SQL-də pəncərə funksiyası ilə toplama funksiyası arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
SQL-də toplama funksiyası (məsələn, SUM, AVG, COUNT) satır qrupları üçün yekun dəyər hesablayır və hər qrup üçün bir sətir qaytarır. Məsələn, SUM(salary) bütün qrup üçün maaşların cəmını hesablayacaq.
Pəncərə funksiyası (window function) də satır qrupları ilə işləyir, lakin hər sətir üçün nəticə qaytarır, pəncərənin kontekstini (hazırkı sətirin ətrafındakı sətirlər toplusu) nəzərə alaraq. Məsələn, SUM(salary) OVER (PARTITION BY department) hər bölmə üçün maaşların cəmını hər sətir üçün qaytaracaq, nəticəni bir sətirə endirmədən.
Nümunə:
SELECT employee_id, department, salary,
SUM(salary) OVER (PARTITION BY department) AS dept_salary_sum
FROM employees;
Burada, hər sətir üçün bölmədəki maaşların cəmi göstəriləcək, bir bölmə üçün tək sətir deyil, GROUP BY ilə istifadə olunan toplama funksiyası kimi.