Sobes.tech
Middle

Функсияҳои тирезаи чӣ гуна фарқият доранд аз GROUP BY?

sobes.tech AI

Ҷавоб аз AI

Функсияҳои тиреза ва GROUP BY дар SQL барои мақсадҳои гуногун хизмат мекунанд, гарчанде ки ҳарду бо маълумоти ҷамъшуда кор мекунанд.

GROUP BY хатҳоро мувофиқи сутунҳои нишоншуда муттаҳид мекунад ва барои ҳар гурӯҳ як хатро бармегардонад. Функсияҳои ҷамъоварӣ (SUM, COUNT ва ғайра) метавонанд татбиқ шаванд, аммо натиҷа ба як хат барои ҳар гурӯҳ кӯтоҳ мешавад.

Функсияҳои тиреза ҷамъоварӣ ё дигар ҳисобҳоро дар маҷмӯи хатҳо, ки тиреза номида мешавад, ҳисоб мекунанд, бидуни кам кардани шумораи хатҳое, ки баргардонида мешаванд. Ҳар як хат нигоҳ дошта мешавад, аммо натиҷаи функсия, ки дар тиреза ҳисоб шудааст, ба он илова карда мешавад.

Масалан:

SELECT
  employee_id,
  department_id,
  salary,
  AVG(salary) OVER (PARTITION BY department_id) AS avg_dept_salary
FROM employees;

Ин ҷо барои ҳар як хатра, миёнаи маоши даромад дар шуъба ҳисоб карда мешавад, аммо хатҳо гурӯҳбандӣ намешаванд — ҳамаи кормандон бо сутуни иловагӣ мебинем.

Баръакс аз GROUP BY, функсияҳои тиреза имкон медиҳанд, ки маълумотро дар контексти гурӯҳ таҳлил кунанд, бидуни аз даст додани тафсилоти ҳар як хатра.