Anbefalt, 2024

Redaksjonens

Forskjellen mellom gruppe av og rekkefølge av i SQL

SQL tillater å organisere dataene som er oppnådd av spørringen. Vi har to klausuler for å organisere dataene som er oppnådd fra spørringen som er gruppebevis og ordrebestemmelse. Poenget som skiller Gruppe By og Ordre etter-klausul er at Group By- klausulen brukes når vi vil bruke aggregatfunksjonen til mer enn ett sett med tuples, og Order By- klausul brukes når vi vil sortere dataene som er oppnådd av spørringen. La oss diskutere noen forskjeller mellom Group By-klausul og Order By-klausul ved hjelp av sammenligningstabellen som er vist nedenfor.

Sammenligningstabel

Grunnlag for sammenligningGruppe avRekkefølge etter
grunn~~POS=TRUNCGruppe By brukes til å danne gruppen av settet av tuplene.Order By brukes til å ordne dataene som er oppnådd som følge av et søk i sortert form.
EgenskapAttributt under Aggregate-funksjonen kan ikke være i Group By-klausulen.Egenskap under aggregat kan være i rekkefølge etter klausul.
BakkeFerdig på grunnlag av likhet blant attributtverdier.Ferdig på grunn av stigende rekkefølge og synkende rekkefølge.

Definisjon av gruppe etter klausul

Aggregate funksjoner som avg, min, max, sum, teller brukes på det enkelte settet av tuples. I tilfelle, hvis du vil bruke aggregatfunksjonene til gruppen av settet tuples, så har vi Group by-klausul for det. Gruppe etter setning grupperer tuplene som har samme attributtverdi.

Det er en ting å huske om Group By-klausulen, pass på at attributtet under Group By- klausulen må vises i SELECT- klausulen, men ikke under en aggregatfunksjon . Hvis Group By-klausulen inneholder et attributt som ikke er under SELECT-setningen, eller hvis det er under SELECT-klausul, men under aggregatfunksjonen, blir spørringen feilaktig. Derfor kan vi si at Group By-klausulen alltid brukes i samarbeid med SELECT-klausulen.

La oss ta et eksempel for å forstå Group By-klausulen.

SELECT Avdeling _ID, avg (Lønn) som avg_salary fra Lærergruppe Av Department_ID.

Du kan se at i utgangspunktet dannes et mellomresultat som har gruppert avdelingene.

Deretter brukes aggregatfunksjonen avg til hver gruppe av avdelinger, og resultatet vises nedenfor.

Definisjon av Bestilling etter Klausul

Order By-klausul brukes til å vise data som er oppnådd ved en forespørsel i den sorterte rekkefølgen. I likhet med Group By-klausulen brukes Order By-klausulen i samarbeid med SELECT-klausulen. Hvis du ikke nevner sorteringsordren, sorterer Order By-klausulen data i stigende rekkefølge. Du kan angi stigende rekkefølge som asc og synkende rekkefølge som desc .

La oss forstå arbeidet med Order By-klausulen ved hjelp av følgende eksempel. Vi har et lærerbord, og jeg vil søke sortering på to kolonner Department_Id and Salary, fra Lærerbordet.

Velg Department_ID, Lønn fra Lærer Ordre Av Department_Id ASC, Lønn Ned.

Du kan se det først, det arrangerer avdelingen _ID i stigende rekkefølge og så ordner den lønnene i samme avdeling i synkende rekkefølge.

Nøkkelforskjeller mellom gruppe av og rekkefølge av

  1. Gruppe By-klausul grupperer settet med tuples i en relasjon som er under SELECT-klausulen. På de andre hender sorterer ordren etter ordre resultatet av spørringen i stigende eller synkende rekkefølge.
  2. Attributtet under aggregatfunksjonen kan ikke være under Group By-klausul, mens attributten under aggregatfunksjonen kan være der under Order By-klausulen.
  3. Gruppering av tuples er utført på grunnlag av likhet mellom egenskapene til tuplene. På de andre hender blir bestilling eller sortering gjort på grunnlag av stigende rekkefølge eller synkende rekkefølge.

Konklusjon:

Hvis du vil danne gruppen av settet med tuples, må du bruke Group By-klausulen. Hvis du vil ordne dataene i en enkelt kolonne eller mer enn en kolonne i settet med tuples i stigende eller synkende rekkefølge, må ordrebestemmelse brukes.

Top