SQLda oynash funksiyasi va yig'ish funksiyasi o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
SQL'da agregat funksiyasi (masalan, SUM, AVG, COUNT) satrlar guruhiga yakuniy qiymat hisoblaydi va har bir guruh uchun bitta satrni qaytaradi. Masalan, SUM(salary) butun guruh uchun maoshlar summasini hisoblaydi.
Oyna funksiyasi (window function) ham satrlar guruhlari bilan ishlaydi, ammo har bir satr uchun natija qaytaradi, oynaning kontekstini (hozirgi satr atrofidagi satrlar to'plami) hisobga olgan holda. Masalan, SUM(salary) OVER (PARTITION BY department) har bir bo'lim uchun maoshlar summasini, natijani bitta satrga kamaytirmasdan, har bir satr uchun qaytaradi.
Misol:
SELECT employee_id, department, salary,
SUM(salary) OVER (PARTITION BY department) AS dept_salary_sum
FROM employees;
Bu yerda, har bir satr uchun bo'limdagi maoshlar summasi ko'rsatiladi, bo'lim uchun bitta satr emas, GROUP BY bilan ishlatiladigan agregat funksiyaga o'xshash tarzda.