Rekommenderas, 2024

Redaktionen

Skillnad mellan Group By och Order By i SQL

SQL tillåter att organisera data som erhållits av frågan. Vi har två klausuler för att organisera de uppgifter som erhållits från den fråga som är gruppbyte och orderbestämmelse. Poängen som skiljer gruppbyte och orderby-klausul är att gruppby- klausulen används när vi vill tillämpa aggregatfunktionen till mer än en uppsättning tupler och orderby- klausul används när vi vill sortera data som erhållits av frågan. Låt oss diskutera några skillnader mellan Group By-klausulen och Order By-klausulen med hjälp av jämförelsetabellen som visas nedan.

Jämförelsediagram

Grunder för jämförelseGrupp avSortera efter
GrundläggandeGrupp By används för att bilda gruppen av uppsättningen av tuplarna.Order By används för att ordna den erhållna data som ett resultat av en fråga i Sorterad form.
AttributAttribut under Aggregate-funktionen kan inte vara i Group By-klausulen.Attribut under aggregat kan vara i Order by Clause.
JordKlar på grund av likhet bland attributvärden.Gjord på grund av stigande ordning och fallande ordning.

Definition av grupp enligt klausul

Sammanlagda funktioner som avg, min, max, summa, räkning tillämpas på den enda uppsättningen tuples. Om du vill tillämpa de sammanlagda funktionerna till gruppen av uppsättningen tupler, så har vi Group by-klausul för det. Grupp för klausul grupperar de tuplar som har samma attributvärde.

Det finns en sak att komma ihåg om Group By-klausulen, se till att attributet enligt Group By- klausulen måste visas i SELECT- klausulen men inte under en aggregatfunktion . Om gruppby-klausulen innehåller ett attribut som inte är under SELECT-klausul eller om det är under SELECT-klausul men under aggregatfunktion blir sökningen felaktig. Därför kan vi säga att Group By-klausulen alltid används i samarbete med SELECT-klausulen.

Låt oss ta ett exempel för att förstå Group By-klausulen.

VÄLJ Avdelning _ID, avg (Lön) som avg_salary från Lärargruppen Av Department_ID.

Du kan se att det ursprungligen bildades ett mellanprodukt som har grupperat avdelningarna.

Därefter appliceras aggregatfunktionen avg till varje grupp av avdelningar, och resultatet visas nedan.

Definition av order enligt klausul

Order By-klausul används för att visa data som erhållits med en fråga i den sorterade ordern. Liksom Group By-klausulen används Order By-klausulen i samarbete med SELECT-klausulen. Om du inte nämner sorteringsordningen sorterar Order By-klausulen data i stigande ordning. Du kan ange stigande ordning som asc och descending order as desc .

Låt oss förstå hur Order By-klausulen fungerar med hjälp av följande exempel. Vi har ett lärarbord, och jag kommer att söka sortering till två kolumner Department_Id and Salary, av lärarbordet.

Välj Department_ID, Lön från Lärarordningen Av Department_Id asc, Lönnedräkning.

Det kan du först se, det arrangerar avdelningen _ID i stigande ordning och sedan ordnar lönen i samma avdelning i fallande ordning.

Viktiga skillnader mellan koncernen och Order By

  1. Grupp By-klausul grupperar uppsättningen tuplar i ett förhållande som är under SELECT-klausulen. På andra händer sorterar Order By-klausulen resultatet av frågan i stigande eller fallande ordning.
  2. Attributet under aggregatfunktionen kan inte ligga under Group By-klausulen, medan attributet under aggregatfunktionen kan finnas där enligt Order By-klausulen.
  3. Gruppering av tuples görs på grundval av likhet bland tuplets attributvärden. Å andra sidan görs ordering eller sortering på grundval av stigande ordning eller fallande ordning.

Slutsats:

Om du vill bilda gruppen av uppsättningen tuples måste du använda Group By-klausulen. Om du vill ordna uppgifterna i en enda kolumn eller mer än en kolumn i uppsättningen tuples i stigande eller nedåtgående ordning måste Order By-klausulen användas.

Top