Rozdiel medzi skupinami podľa a poradím podľa v SQL
Obsah
SQL umožňuje usporiadať údaje získané dotazom. Máme dve doložky na usporiadanie údajov získaných z dotazu, ktoré sú doložkou Group By a Order By. Bod, ktorý odlišuje klauzulu Group By a Order By je, že Zoskupiť podľa Klauzula sa používa, keď chceme použiť agregovanú funkciu na viac ako jednu skupinu n-tíc a Zoradiť podľa Klauzula sa používa, keď chceme zoradiť údaje získané dotazom. Poďme diskutovať o niektorých rozdieloch medzi doložkou Group By a Order By doložkou pomocou tabuľky porovnania uvedenej nižšie.
- Porovnávacia tabuľka
- definícia
- Kľúčové rozdiely
- záver
Porovnávacia tabuľka
Základ pre porovnanie | Zoskupiť podľa | Zoradiť podľa |
---|---|---|
základné | Group By sa používa na vytvorenie skupiny množín n-tíc. | Usporiadať podľa sa používa na usporiadanie údajov získaných ako výsledok dotazu v triedenej podobe. |
atribút | Atribút v rámci funkcie agregovať nemôže byť v klauzuli Group By. | Atribút v rámci agregátu môže byť v poradí podľa klauzuly. |
prízemný | Dané z dôvodu podobnosti medzi hodnotami atribútov. | Dané z dôvodu vzostupného a zostupného poradia. |
Definícia skupiny podľa doložky
Agregované funkcie ako avg, min, max, súčet, počet sa aplikujú na jednu množinu n-tíc. V prípade, že chcete aplikovať agregované funkcie na skupinu množín n-tíc, máme na to klauzulu Group by. Zoskupiť podľa klauzuly zoskupuje n-tice, ktoré majú rovnakú hodnotu atribútu.
Je tu jedna vec pamätať o klauzuli Group By sa uistite, že atribút pod Zoskupiť podľa doložka musí byť uvedená v SELECT doložka, ale nie pod agregovaná funkcia, Ak klauzula Group By obsahuje atribút, ktorý nie je v klauzule SELECT alebo ak je v klauzuli SELECT, ale v agregovanej funkcii, dotaz sa stane chybným. Preto môžeme povedať, že klauzula Group By sa vždy používa v spolupráci s klauzuliou SELECT.
Urobme príklad, aby sme pochopili klauzulu Group By.
VYBRAŤ Oddelenie _ID, avg (Plat) ako avg_salary zo skupiny učiteľov Oddelenie_ID. Môžete vidieť, že spočiatku sa vytvorí priebežný výsledok, ktorý zoskupil oddelenia.Ďalej je agregovaná funkcia priemeru aplikovaná na každú skupinu oddelení a výsledok je uvedený nižšie.
Definícia poradia podľa doložky
Klauzula Usporiadať podľa sa používa na zobrazenie údajov získaných dotazom v zoradenom poradí. Podobne ako klauzula Group By, klauzula Order By sa používa aj v spolupráci s klauzuliou SELECT. Ak nespomínate poradie triedenia, klauzula Zoradiť podľa triedi dáta vzostupne. Vzostupné poradie môžete určiť ako vzostupne a zostupne ako zostupne.
Pochopme fungovanie klauzuly Order By pomocou nasledujúceho príkladu. Máme učiteľský stôl a ja použijem triedenie do dvoch stĺpcov Department_Id a Salary z Učiteľského stolu.
Vyberte položku Department_ID, Plat podľa poradia učiteľa podľa Department_Id asc, Plat plat. Môžete vidieť, že najprv usporiada oddelenie _ID vo vzostupnom poradí a potom usporiada platy na tom istom oddelení v zostupnom poradí.- Klauzula zoskupiť podľa skupiny zoskupuje n-tice vo vzťahu, ktorý je pod doložkou SELECT. Na druhej strane klauzula Usporiadať podľa triedi výsledok dotazu podľa vzostupného alebo zostupného poradia.
- Atribút v rámci agregovanej funkcie nemôže byť v rámci klauzuly Group By, zatiaľ čo atribút v agregovanej funkcii môže byť uvedený v klauzuli Order By.
- Zoskupovanie n-tíc sa uskutočňuje na základe podobnosti medzi hodnotami atribútov n-tíc. Na druhej strane sa usporiadanie alebo triedenie vykonáva na základe vzostupného alebo zostupného poradia.
záver:
Ak chcete vytvoriť skupinu množiny n-tíc, musíte použiť klauzulu Group By. V prípade, že chcete usporiadať údaje do jedného stĺpca alebo do viacerých stĺpcov v skupine n-tíc vo vzostupnom alebo zostupnom poradí, musíte použiť klauzulu Usporiadať podľa.