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