Middle
Чӣ гуна метавон маълумотҳоро бо истифода аз функсияҳои тиреза дар SQL ба гурӯҳҳо тақсим кард?
sobes.tech AI
Ҷавоб аз AI
Функсияҳои тиреза дар SQL имкон медиҳанд, ки ҳисобҳо дар гурӯҳҳои сатрҳо анҷом дода шаванд, бе кам кардани натиҷа ба як сатр, ҳамчун дар GROUP BY. Онҳо бо маҷмӯи сатрҳо (тиреза) кор мекунанд, ки барои ҳар як сатр муайян карда шудаанд.
Барои тақсим кардани маълумот ба гурӯҳҳо ва истифодаи функсияҳои тиреза, сохтор OVER (PARTITION BY ...) истифода мешавад. Масалан:
SELECT
employee_id,
department_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Ин ҷо маълумотҳо ба гурӯҳҳо дар асоси department_id тақсим мешаванд, ва дар дохили ҳар гурӯҳ ранг кардани музди кор ҳисоб карда мешавад.
Бинобар ин, функсияҳои тиреза имкон медиҳанд, ки маълумотҳоро дар асоси гурӯҳҳо таҳлил кардан, дар ҳоле ки ҳамаи сатрҳои ҷадвали аслӣ нигоҳ дошта мешаванд.