Denne artikkelen forklarer den fullstendige oversikten over GROUP BY- og ORDER BY-klausulen. De brukes hovedsakelig til å organisere data innhentet av SQL-spørringer. Forskjellen mellom disse klausulene er et av de vanligste stedene å sette seg fast når du lærer SQL . Hovedforskjellen mellom dem er det GROUP BY-leddet er aktuelt når vi ønsker å bruke aggregerte funksjoner til mer enn ett sett med rader. ORDER BY-klausulen gjelder når vi ønsker å få dataene innhentet ved en spørring i sorteringsrekkefølgen . Før vi gjør sammenligningen, vil vi først kjenne til disse SQL-klausulene.
BESTILL ETTER Klausul
ORDER BY-leddet brukes i SQL-spørringer for å sortere dataene som returneres av en spørring i stigende eller synkende rekkefølge. Hvis vi utelater sorteringsrekkefølgen, sorterer den det oppsummerte resultatet i stigende rekkefølge som standard. ORDER BY-leddet, som GROUP BY-leddet, kan brukes sammen med SELECT-setningen. ASC angir stigende rekkefølge, mens DESC angir synkende rekkefølge.
Følgende er syntaksen for å bruke ORDER BY-leddet i en SQL-setning:
zeenat aman skuespiller
SELECT expressions FROM tables [WHERE conditions] ORDER BY expression [ ASC | DESC ];
La oss forstå hvordan ORDER BY-klausulen fungerer ved hjelp av følgende eksempel. Anta at vi har et bord utvikler som inneholder følgende data:
Vi kan se at disse resultatene ikke vises på en organisert måte. Anta at vi ønsker å organisere resultater i stigende eller synkende rekkefølge basert på staten kolonne . I så fall trenger vi kommandoen ORDER BY for å få ønsket resultat. Vi kan gjøre dette ved å utføre kommandoen som følger:
mysql> SELECT D_name, D_state, D_salary FROM developers ORDER BY D_state ASC;
Her er utgangen der vi vil få de ønskede resultatene:
GROUP BY klausul
GROUP BY-leddet brukes i SQL-spørringer for å organisere data som har samme attributtverdier. Vanligvis bruker vi den med SELECT-setningen . Det er alltid å huske at vi må plassere GROUP BY-leddet etter WHERE-leddet. I tillegg er det tempo før ORDER BY-klausulen.
Vi kan ofte bruke denne klausulen i samarbeid med aggregerte funksjoner som SUM, AVG, MIN, MAX og COUNT for å produsere sammendragsrapporter fra databasen. Det er viktig å huske at attributtet i denne klausulen må vises i SELECT-leddet, ikke under en aggregert funksjon. Hvis vi gjør det, vil spørringen være feil. Som et resultat blir GROUP BY-leddet alltid brukt sammen med SELECT-leddet. Spørringen for GROUP BY-leddet er gruppert spørring, og den returnerer en enkelt rad for hvert gruppert objekt.
arraylist og linkedlist
Følgende er syntaksen for å bruke GROUP BY-klausul i en SQL-setning:
SELECT column_name, function(column_name) FROM table_name WHERE condition GROUP BY column_name;
La oss forstå hvordan GROUP BY-klausulen fungerer ved hjelp av et eksempel. Her vil vi demonstrere det med samme tabell.
Anta at vi vil vite utviklers gjennomsnittslønn i en bestemt stat og organiser resultatene i synkende rekkefølge basert på tilstandskolonnen. I så fall trenger vi både GROUP BY og ORDER BY kommandoen for å få ønsket resultat. Vi kan gjøre dette ved å utføre kommandoen som følger:
mysql> SELECT D_state, avg(D_salary) AS salary FROM developers GROUP BY D_state ORDER BY D_state DESC;
Denne spørringen dannet i utgangspunktet et mellomresultat som har gruppert staten. Neste, den AVG funksjonen utføres på hver gruppe av tilstander, sorter deretter resultatet i synkende rekkefølge, og til slutt vil vi få de ønskede resultatene som vist nedenfor:
Nøkkelforskjeller mellom GROUP BY og ORDER BY
Følgende er de viktigste forskjellene mellom Group By og Order By-klausulen:
- Group By-klausulen brukes til å gruppere data basert på samme verdi i en bestemt kolonne. ORDER BY-leddet, derimot, sorterer resultatet og viser det i stigende eller synkende rekkefølge.
- Det er obligatorisk å bruke aggregeringsfunksjonen for å bruke Grupper etter. På den annen side er det ikke obligatorisk å bruke aggregatfunksjonen for å bruke Bestill etter.
- Attributtet kan ikke være under GROUP BY-setning under aggregatfunksjon, mens attributtet kan være under ORDER BY-setning under aggregatfunksjon.
- Group By-klausul kontrollerer presentasjonen av tupler, som betyr at gruppering gjøres basert på likheten mellom radens attributtverdier. I motsetning til dette, kontrollerer ORDER BY-klausulen presentasjonen av kolonner, som betyr at rekkefølgen eller sorteringen gjøres basert på kolonnens attributtverdier enten i stigende eller synkende rekkefølge.
- GROUP BY plasseres alltid etter WHERE-leddet, men før ORDER BY-setningen. På den annen side brukes ORDER BY alltid etter GROUP BY-setningen.
GRUPPE ETTER vs. ORDER BY Sammenligningsdiagram
Følgende sammenligningsdiagram forklarer hovedforskjellene deres på en rask måte:
SN | GRUPPE AV | REKKEFØLGE ETTER |
---|---|---|
1. | Den brukes til å gruppere radene som har samme verdier. | Den sorterer resultatsettet enten i stigende eller synkende rekkefølge. |
2. | Det kan være tillatt i CREATE VIEW-setningen. | Det er ikke tillatt i CREATE VIEW-setningen |
3. | Den styrer presentasjonen av rader. | Den styrer presentasjonen av kolonner. |
4. | Attributtet kan ikke være under aggregert funksjon under GROUP BY-setning. | Attributtet kan være under aggregert funksjon under ORDER BY-setning. |
5. | Den brukes alltid før ORDER BY-leddet i SELECT-setningen. | Den brukes alltid etter GROUP BY-leddet i SELECT-setningen. |
6. | Det er obligatorisk å bruke aggregerte funksjoner i GROUP BY. | Det er ikke obligatorisk å bruke aggregerte funksjoner i ORDER BY. |
7. | Her gjøres grupperingen basert på likheten mellom radens attributtverdier. | Her er resultatsettet sortert basert på kolonnens attributtverdier, enten stigende eller synkende rekkefølge. |
Konklusjon
GROUP BY- og ORDER BY-klausulene sammenlignes i denne artikkelen. Begge klausulene er ekstremt nyttige SQL-databasefunksjoner. Når vi ønsker å danne en gruppe med rader, bruker vi GROUP BY-leddet. Hvis vi ønsker å organisere data i stigende eller synkende rekkefølge basert på en bestemt kolonne, bruker vi ORDER BY-klausulen. De har ikke noe forhold fordi begge brukes til to forskjellige formål. Vi kan imidlertid kombinere dem for å tjene spesielle formål eller kan bruke dem individuelt avhengig av omstendighetene. Vi kan bare bruke disse klausulene med SELECT-setningen.
java erstatte tegn i streng