logo

GROUP BY vs. ORDER BY

Den här artikeln förklarar den fullständiga översikten av satserna GROUP BY och ORDER BY. De används främst för att organisera data som erhålls av SQL-frågor. Skillnaden mellan dessa klausuler är en av de vanligaste platserna att fastna när man lär sig SQL . Den största skillnaden mellan dem är att GROUP BY-satsen är tillämplig när vi vill använda aggregerade funktioner till mer än en uppsättning rader. ORDER BY-satsen är tillämplig när vi vill få data som erhålls genom en fråga i sorteringsordningen . Innan vi gör jämförelsen kommer vi först att känna till dessa SQL-satser.

GROUP BY vs. ORDER BY

BESTÄLL MED Klausul

ORDER BY-satsen används i SQL-frågor för att sortera data som returneras av en fråga i stigande eller fallande ordning. Om vi ​​utelämnar sorteringsordningen, sorterar den det sammanfattade resultatet i stigande ordning som standard. ORDER BY-satsen, liksom GROUP BY-satsen, kan användas tillsammans med SELECT-satsen. ASC betecknar stigande ordning, medan DESC betecknar fallande ordning.

Följande är syntaxen för att använda ORDER BY-satsen i en SQL-sats:

fetstil i css
 SELECT expressions FROM tables [WHERE conditions] ORDER BY expression [ ASC | DESC ]; 

Låt oss förstå hur ORDER BY-satsen fungerar med hjälp av följande exempel. Anta att vi har ett bord utvecklare som innehåller följande data:

GROUP BY vs. ORDER BY

Vi kan se att dessa resultat inte visas på ett organiserat sätt. Anta att vi vill organisera resultat i stigande eller fallande ordning baserat på tillståndskolumnen . I så fall skulle vi behöva kommandot ORDER BY för att få önskat resultat. Vi kan göra detta genom att utföra kommandot enligt följande:

 mysql> SELECT D_name, D_state, D_salary FROM developers ORDER BY D_state ASC; 

Här är utgången där vi kommer att få de önskade resultaten:

GROUP BY vs. ORDER BY

GROUP BY Klausul

GROUP BY-satsen används i SQL-frågor för att organisera data som har samma attributvärden. Vanligtvis använder vi det med SELECT-satsen . Det är alltid att komma ihåg att vi måste placera GROUP BY-satsen efter WHERE-satsen. Dessutom taktas den före ORDER BY-satsen.

Vi kan ofta använda den här klausulen i samarbete med aggregerade funktioner som SUM, AVG, MIN, MAX och COUNT för att producera sammanfattande rapporter från databasen. Det är viktigt att komma ihåg att attributet i denna sats måste visas i SELECT-satsen, inte under en aggregatfunktion. Om vi ​​gör det skulle frågan vara felaktig. Som ett resultat av detta används GROUP BY-satsen alltid tillsammans med SELECT-satsen. Frågan för GROUP BY-satsen är en grupperad fråga, och den returnerar en enda rad för varje grupperat objekt.

få aktuellt datum i java

Följande är syntaxen för att använda GROUP BY-satsen i en SQL-sats:

 SELECT column_name, function(column_name) FROM table_name WHERE condition GROUP BY column_name; 

Låt oss förstå hur GROUP BY-satsen fungerar med hjälp av ett exempel. Här kommer vi att demonstrera det med samma tabell.

Anta att vi vill veta utvecklarens genomsnittliga lön i en viss stat och organisera resultaten i fallande ordning baserat på statuskolumnen. I så fall skulle vi behöva både kommandot GROUP BY och ORDER BY för att få önskat resultat. Vi kan göra detta genom att utföra kommandot enligt följande:

 mysql> SELECT D_state, avg(D_salary) AS salary FROM developers GROUP BY D_state ORDER BY D_state DESC; 

Denna fråga bildade initialt ett mellanresultat som har grupperat staten. Nästa, den AVG funktionen utförs på varje grupp av tillstånd, sortera sedan resultatet i fallande ordning, och slutligen får vi de önskade resultaten som visas nedan:

GROUP BY vs. ORDER BY

Nyckelskillnader mellan GROUP BY och ORDER BY

Följande är de viktigaste skillnaderna mellan Group By och Order By-klausulen:

  • Group By-satsen används för att gruppera data baserat på samma värde i en specifik kolumn. ORDER BY-satsen, å andra sidan, sorterar resultatet och visar det i stigande eller fallande ordning.
  • Det är obligatoriskt att använda aggregatfunktionen för att använda Gruppera efter. Å andra sidan är det inte obligatoriskt att använda aggregatfunktionen för att använda Order By.
  • Attributet kan inte vara under GROUP BY-sats under aggregatfunktion, medan attributet kan vara under ORDER BY-sats under aggregatfunktion.
  • Group By-satsen styr presentationen av tupler, vilket innebär att gruppering görs baserat på likheten mellan radens attributvärden. Däremot styr ORDER BY-satsen presentationen av kolumner, vilket innebär att ordningen eller sorteringen görs baserat på kolumnens attributvärden antingen i stigande eller fallande ordning.
  • GROUP BY placeras alltid efter WHERE-satsen men före ORDER BY-satsen. Å andra sidan används ORDER BY alltid efter GROUP BY-satsen.

Jämförelsediagram för GROUP BY vs ORDER BY Jämförelsediagram

Följande jämförelsediagram förklarar deras huvudsakliga skillnader på ett snabbt sätt:

SN GRUPP AV SORTERA EFTER
1. Den används för att gruppera de rader som har samma värden. Den sorterar resultatuppsättningen antingen i stigande eller fallande ordning.
2. Det kan tillåtas i CREATE VIEW-satsen. Det är inte tillåtet i CREATE VIEW-satsen
3. Den styr presentationen av rader. Den styr presentationen av kolumner.
4. Attributet kan inte vara under aggregatfunktion under GROUP BY-satsen. Attributet kan vara under aggregatfunktion under ORDER BY-satsen.
5. Den används alltid före ORDER BY-satsen i SELECT-satsen. Den används alltid efter GROUP BY-satsen i SELECT-satsen.
6. Det är obligatoriskt att använda aggregerade funktioner i GROUP BY. Det är inte obligatoriskt att använda aggregerade funktioner i ORDER BY.
7. Här görs grupperingen utifrån likheten mellan radens attributvärden. Här sorteras resultatuppsättningen baserat på kolumnens attributvärden, antingen stigande eller fallande ordning.

Slutsats

Klausulerna GROUP BY och ORDER BY jämförs i den här artikeln. Båda klausulerna är extremt användbara SQL-databasfunktioner. När vi vill bilda en grupp av rader använder vi GROUP BY-satsen. Om vi ​​vill organisera data i stigande eller fallande ordning baserat på en viss kolumn använder vi ORDER BY-satsen. De har ingen relation eftersom båda används för två olika syften. Men vi kan kombinera dem för att tjäna något speciellt syfte eller kan använda dem individuellt beroende på omständigheterna. Vi kan endast använda dessa satser med SELECT-satsen.

java int som sträng