Sobes.tech
Middle

Mis on akna funktsioonid SQL-is ja milleks neid kasutatakse?

sobes.tech AI

Vastus AI-lt

Aknalõigafunktsioonid (window functions) SQL-is on funktsioonid, mis teevad arvutusi seotud ridade kogumil, mis on seotud praeguse reaga, ilma tulemusi üheks reaks kokku kogumata, nagu see toimub agregaatfunktsioonidega.

Need võimaldavad näiteks arvutada libisevaid summasid, ridade järjestust, kumulatiivseid summasid, keskmisi ja nii edasi, säilitades algse ridade arvu tulemuses.

Näide aknalõigafunktsioonist 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;

Siin arvutatakse iga töötaja jaoks tema järjestus palga järgi osakonnas, säilitades kõik read.

Aknalõigafunktsioonid on kasulikud analüütikas, aruannetes ja keerukates arvutustes, kus on vaja näha iga rea konteksti teistega võrreldes.