Middle
Znáte pojem partition a jak se používá PARTITION BY s ORDER BY?
sobes.tech AI
Odpověď od AI
Pojem partition v SQL se používá k rozdělení datové sady na logické skupiny, nad kterými lze provádět okenní funkce. Klíčové slovo PARTITION BY určuje, jak data rozdělit do těchto skupin.
ORDER BY uvnitř okenní funkce určuje pořadí řádků v každé partition, což je důležité pro funkce závislé na pořadí, například ROW_NUMBER(), LAG(), LEAD() atd.
Příklad:
SELECT
user_id,
event_time,
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY event_time) AS event_rank
FROM events;
Zde jsou data pro každého uživatele (user_id) rozdělena do partition, a uvnitř každé partition jsou události seřazeny podle času, aby je bylo možné číslovat v chronologickém pořadí.