Middle
Да ли сте упознати са концептом партиција и како се користи PARTITION BY са ORDER BY?
sobes.tech АИ
Одговор од АИ
Концепт партиција у SQL-у се користи за раздвајање скупа података у логичке групе, над којима се могу извршавати функције прозора. Кључна реч PARTITION BY одређује како подаци треба да се поделе у те групе.
ORDER BY унутар функције прозора поставља редослед редова у свакој партицији, што је важно за функције које зависе од редоследа, као што су ROW_NUMBER(), LAG(), LEAD() итд.
Пример:
SELECT
user_id,
event_time,
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY event_time) AS event_rank
FROM events;
Овде, за сваког корисника (user_id), подаци се деле у партиције, а унутар сваке партиције догађаји се сортирају по времену да би им се додели редни број у хронолошком реду.