Sobes.tech
Middle

Kas yra lango funkcijos SQL ir kam jos naudojamos?

sobes.tech AI

Atsakymas iš AI

Langelių funkcijos (window functions) SQL yra funkcijos, kurios atlieka skaičiavimus su eilutėmis, susijusiomis su dabartine eilute, negrupuojant rezultatų į vieną eilutę, kaip tai daro agregatinės funkcijos.

Jos leidžia, pavyzdžiui, skaičiuoti judančias sumas, eilutės reitingą, kauptines sumas, vidurkius ir pan., išlaikant pradinį eilučių skaičių rezultate.

ROW_NUMBER() lango funkcijos pavyzdys:

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

Čia kiekvienam darbuotojui skaičiuojamas jo reitingas pagal atlyginimą departamento viduje, išlaikant visas eilutes.

Langelių funkcijos yra naudingos analizei, ataskaitoms ir sudėtingiems skaičiavimams, kur reikia matyti kiekvienos eilutės kontekstą, lyginant su kitomis.