SQL PARTITION BY (Čeština)

Souhrn: v tomto kurzu se naučíte, jak používat SQL PARTITION BY pro změnu způsobu výpočtu funkce okna.

Přehled klauzule SQL PARTITION BY

Klauzule PARTITION BY je dílčí klauzule klauzule OVER. Klauzule PARTITION BY rozděluje sadu výsledků dotazu na oddíly. Funkce okna je provozována na každém oddílu zvlášť a přepočítává se pro každý oddíl.

Následující text ukazuje syntaxi klauzule PARTITION BY:

Můžete rozdělit sadu výsledků tak, že zadáte jeden nebo více sloupců nebo výrazů. expression1, expression1 atd., Může odkazovat pouze na sloupce odvozené z FROM klauzule. Nemohou odkazovat na výrazy nebo aliasy ve výběrovém seznamu.

Výrazy klauzule PARTITION BY mohou být výrazy sloupců, skalární poddotaz nebo skalární funkce. Všimněte si, že skalární poddotaz a skalární funkce vždy vrátí jednu hodnotu.

Pokud vynecháte klauzuli PARTITION BY, celá sada výsledků bude považována za jediný oddíl.

PARTITION BY vs. GROUP BY

Klauzule GROUP BY se používá často ve spojení s agregační funkcí, jako je SUM() a AVG(). Klauzule GROUP BY snižuje počet vrácených řádků jejich součtem a výpočtem součtů nebo průměrů pro každou skupinu.

Například následující příkaz vrátí průměr plat zaměstnanců podle oddělení:

Následující obrázek ukazuje výsledek:

Klauzule PARTITION BY rozděluje sadu výsledků na oddíly a mění způsob výpočtu funkce okna. Klauzule PARTITION BY nesnižuje počet vrácených řádků.

Následující příkaz vrátí plat zaměstnance a také průměrný plat zaměstnaneckého oddělení:

Zde je částečný výstup:

Jednoduše řečeno, klauzule GROUP BY je agregovaná, klauzule PARTITION BY je analytická.

V tomto tutoriál, dozvěděli jste se o klauzuli SQL PARTITION BY, která mění způsob výpočtu výsledku funkce okna.

  • Byl tento výukový program užitečný?
  • AnoNe

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *