Sobes.tech
Middle

Je vám známy pojem partícií a ako sa používa PARTITION BY s ORDER BY?

sobes.tech AI

Odpoveď od AI

Pojem partitcie v SQL sa používa na rozdelenie dátovej sady na logické skupiny, nad ktorými je možné vykonávať okná funkcie. Kľúčové slovo PARTITION BY určuje, ako rozdeliť dáta do týchto skupín.

ORDER BY vnútri oknovej funkcie určuje poradie riadkov v každej partition, čo je dôležité pre funkcie závislé od poradia, ako sú ROW_NUMBER(), LAG(), LEAD() a ďalšie.

Príklad:

SELECT
  user_id,
  event_time,
  ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY event_time) AS event_rank
FROM events;

Tu sú údaje pre každého používateľa (user_id) rozdelené na partition, a vnútri každej partition sú udalosti zoradené podľa času, aby ich mohli číslovať v chronologickom poradí.