Doporučená, 2024

Redakce Choice

Rozdíl mezi skupinou podle a pořadí podle SQL

SQL umožňuje organizovat data získaná dotazem. Máme dvě klauzule pro organizování dat získaných z dotazu, které jsou podle klauzule podle skupiny a pořadí. Bod, který odlišuje skupinu podle a pořadí podle klauzule, je, že klauzule Group By je použita, když chceme použít agregační funkci na více než jednu sadu tupic a klauzule Order By je použita, když chceme data získaná dotazem třídit. Pojďme diskutovat o některých rozdílech mezi klauzulí skupiny podle klauzule a klauzule Order By doložka pomocí srovnávací tabulky uvedené níže.

Srovnávací graf

Základ pro porovnáníSkupina vytvořenáSeřadit podle
ZákladníSkupina By se používá k vytvoření skupiny sady n-tic.Order By se používá k uspořádání dat získaných jako výsledek dotazu v tříděném formuláři.
AtributAtribut pod agregační funkcí nemůže být v klauzuli Group By.Souhrnný atribut může být v pořadí podle klauzule.
PřízemníDáno na základě podobnosti mezi hodnotami atributů.Dělá se na zemi vzestupně a sestupně.

Definice skupinové doložky

Agregační funkce jako avg, min, max, součet, počet se aplikují na jednu sadu n-tic. V případě, že chcete použít agregační funkce na skupinu množin n-tic, pak máme pro to skupinu podle klauzule. Skupina podle klauzule seskupí n-tice, které mají stejnou hodnotu atributu.

Je jedna věc zapamatovat o klauzuli o skupině podle, ujistěte se, že atribut v rámci klauzule skupiny by se musí zobrazit v klauzuli SELECT, ale nikoli pod agregační funkce . Pokud klauzule Group By obsahuje atribut, který není v rámci klauzule SELECT nebo pokud je v klauzuli SELECT, ale pod agregační funkcí, dotaz se stává chybným. Můžeme tedy říci, že klauzule Group By se vždy používá ve spolupráci s klauzulí SELECT.

Vezměme si příklad, abychom porozuměli klauzuli Group By.

SELECT Department _ID, avg (Plat) jako avg_salary z Učitelské skupiny podle Department_ID.

Můžete vidět, že zpočátku vzniká mezivýsledek, který seskupil oddělení.

Dále je pro každou skupinu oddělení použita agregační funkce avg a výsledek je uveden níže.

Definice řádu podle klauzule

Pořadí podle klauzule se používá k zobrazení dat získaných dotazem v seřazeném pořadí. Stejně jako skupina podle klauzule, klauzule Order By je také použita ve spolupráci s klauzulí SELECT. Pokud neuvedete pořadí řazení, položka Řadit podle třídí data ve vzestupném pořadí. Jako vzestupné a sestupné pořadí můžete zadat sestupně .

Pojďme pochopit fungování klauzule řádu podle pomoci následujícího příkladu. Máme tabulku Učitel a já použiji třídění na dva sloupce Department_Id a Plat, tabulky Učitel.

Vyberte Department_ID, Plat z objednávky učitele podle Department_Id asc, Platový plat.

Můžete vidět, že první, uspořádá oddělení _ID ve vzestupném pořadí a pak zařídí platy ve stejném oddělení v sestupném pořadí.

Klíčové rozdíly mezi skupinami podle a pořadí podle

  1. Klauzule podle skupiny seskupuje sadu n-tic v relaci, která je pod klauzulí SELECT. Na druhou stranu, Řádek podle klauzule třídí výsledek dotazu ve vzestupném nebo sestupném pořadí.
  2. Atribut pod agregační funkcí nemůže být v rámci skupiny podle klauzule, zatímco atribut pod agregační funkcí může být v rámci klauzule Order By.
  3. Seskupování n-tic se provádí na základě podobnosti mezi hodnotami atributů n-tic. Na druhé straně se objednávka nebo třídění provádí na základě vzestupného nebo sestupného pořadí.

Závěr:

Pokud chcete vytvořit skupinu množin n-tic, musíte použít klauzuli skupiny podle. V případě, že chcete uspořádat data jednoho sloupce nebo více, je třeba použít více než jeden sloupec v množině tříd ve vzestupném nebo sestupném pořadí.

Top