Sobes.tech
Middle

Функсияҳои тиреза дар SQL чистанд ва барои чӣ истифода мешаванд?

sobes.tech AI

Ҷавоб аз AI

Функсияҳои тиреза (window functions) дар SQL функсияҳое мебошанд, ки ҳисобкуниҳоро дар рӯйхати сатрҳо, ки бо сатрҳои ҳозира алоқаманданд, иҷро мекунанд, бе гурӯҳбандии натиҷаҳо ба як сатр, ҳамчун функсияҳои ҷамъбастӣ.

Онҳо, масалан, имкон медиҳанд, ҳисоб кардани ҷамъҳои ҳаракатӣ, рейтинг кардани сатрҳо, ҳисоб кардани ҷамъҳои кумулятивӣ, миёнаҳо ва ғайра, бо нигоҳ доштани шумораи аслӣ of сатрҳо дар натиҷа.

Масали истифодаи функсияи тиреза ROW_NUMBER():

SELECT
    employee_id,
    department_id,
    salary,
    ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank_in_dept
FROM employees;

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

Функсияҳои тиреза барои таҳлил, ҳисобот ва ҳисобкуниҳои мураккаб, ки дар он лозим аст, ки контексти ҳар сатр нисбат ба дигарон дида шавад, кӯмак мерасонанд.