Rozdiel medzi skupinami podľa a poradím podľa v SQL

Autor: Laura McKinney
Dátum Stvorenia: 1 Apríl 2021
Dátum Aktualizácie: 15 Smieť 2024
Anonim
Rozdiel medzi skupinami podľa a poradím podľa v SQL - Technológie
Rozdiel medzi skupinami podľa a poradím podľa v SQL - Technológie

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.

  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ pre porovnanieZoskupiť podľaZoradiť 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í.

  1. 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.
  2. 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.
  3. 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.