Junior — Middle
Van tapasztalata ablakfüggvények használatában SQL-lekérdezések során?
sobes.tech MI
Válasz az MI-től
Igen, SQL-lekérdezésekkel való munkám során ablakfüggvényeket (window functions) használtam. Ezek lehetővé teszik számítások végrehajtását egy olyan sorokból álló halmazon, amely kapcsolódik a jelenlegi sorhoz, anélkül, hogy az eredményt csoportosítanánk, ami hasznos elemzésekhez és összetett lekérdezésekhez.
Fő ablakfüggvények:
ROW_NUMBER()— sorok számozása az ablakon belülRANK(),DENSE_RANK()— rangsorolás egyenlőségek figyelembevételévelSUM(),AVG(),COUNT()— aggregált függvények az ablakon belül
Példa: listázza az alkalmazottakat a fizetésükkel és a részleg szerinti sorszámukkal csökkenő sorrendben:
SELECT
employee_id,
department_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Itt a PARTITION BY az adatokat részlegek szerint osztja fel, az ORDER BY pedig meghatározza a sorrendet minden részlegen belül. Az ablakfüggvények lehetővé teszik összetett elemző lekérdezések végrehajtását részletek elvesztése nélkül.