Junior — Middle
Czy masz doświadczenie w korzystaniu z funkcji okienkowych podczas pracy z zapytaniami SQL?
sobes.tech AI
Odpowiedź od AI
Tak, podczas pracy z zapytaniami SQL używałem funkcji okienkowych (window functions). Pozwalają one na wykonywanie obliczeń na zbiorze wierszy powiązanych z bieżącym wierszem, bez grupowania wyników, co jest przydatne w analizie i skomplikowanych zapytaniach.
Główne funkcje okienkowe:
ROW_NUMBER()— numeracja wierszy w oknieRANK(),DENSE_RANK()— ranking z uwzględnieniem remisówSUM(),AVG(),COUNT()— funkcje agregujące na oknie
Przykład: uzyskanie listy pracowników z ich wynagrodzeniem i numerem porządkowym według działu w kolejności malejącej wynagrodzenia:
SELECT
employee_id,
department_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS salary_rank
FROM employees;
Tutaj PARTITION BY dzieli dane według działów, a ORDER BY ustawia kolejność w każdym dziale. Funkcje okienkowe umożliwiają wykonywanie złożonych zapytań analitycznych bez utraty szczegółów.