Middle
Фарқи байни функсияи тиреза ва функсияи ҷамъбастӣ дар SQL чист?
sobes.tech AI
Ҷавоб аз AI
Функсияи ҷамъоварӣ дар SQL (масалан, SUM, AVG, COUNT) арзиши охиринро барои гурӯҳи сатрҳо ҳисоб мекунад ва як сатрро барои ҳар гурӯҳ бармегардонад. Масалан, SUM(salary) суммаро барои тамоми гурӯҳ ҳисоб мекунад.
Функсияи тиреза (window function) низ бо гурӯҳҳои сатрҳо кор мекунад, аммо натиҷаро барои ҳар сатр, бо дар назар доштани контексти тиреза (гурӯҳи сатрҳо атрофи сатрҳои ҳозира), бармегардонад. Масалан, SUM(salary) OVER (PARTITION BY department) суммаро барои ҳар шӯъба барои ҳар сатр бармегардонад, бе кам кардани натиҷа ба як сатр.
Масал:
SELECT employee_id, department, salary,
SUM(salary) OVER (PARTITION BY department) AS dept_salary_sum
FROM employees;
Ин ҷо барои ҳар сатр, суммаро дар шӯъба нишон медиҳад, на як сатр барои шӯъба, ҳамчун вақте ки функсияи ҷамъовариро бо GROUP BY истифода мебарем.