Sobes.tech
Middle

Hogyan lehet az adatokat csoportokra bontani ablakfüggvények segítségével SQL-ben?

sobes.tech MI

Válasz az MI-től

Az SQL ablakfüggvényei lehetővé teszik, hogy számításokat végezzenek sorcsoportokon, anélkül, hogy az eredményt egyetlen sorra csökkentenék, mint a GROUP BY esetén. Ezek egy sorokat tartalmazó (ablak) halmazon dolgoznak, amely minden sorhoz van rendelve.

Az adatok csoportokra bontásához és az ablakfüggvények alkalmazásához a OVER (PARTITION BY ...) szerkezetet használják. Például:

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

Ebben az esetben az adatokat a department_id szerint csoportosítják, és minden csoporton belül kiszámítják a fizetési rangsort.

Így az ablakfüggvények lehetővé teszik az adatok csoportok szerinti elemzését, miközben az eredeti táblázat összes sorát megőrzik.