logo

GROEPEREN OP versus BESTELLEN OP

In dit artikel wordt het volledige overzicht van de GROUP BY- en ORDER BY-clausule uitgelegd. Ze worden voornamelijk gebruikt voor het organiseren van gegevens die zijn verkregen door SQL-query's. Het verschil tussen deze clausules is een van de meest voorkomende plekken waar je vastloopt tijdens het leren SQL . Het belangrijkste verschil tussen hen is dat de GROUP BY-clausule is van toepassing als we aggregatiefuncties voor meer dan één set rijen willen gebruiken. De ORDER BY-clausule is van toepassing wanneer we de gegevens verkregen door een query in de sorteervolgorde willen krijgen . Voordat we de vergelijking maken, zullen we eerst deze SQL-clausules kennen.

GROEPEREN OP versus BESTELLEN OP

BESTEL PER clausule

De ORDER BY-clausule wordt in SQL-query's gebruikt om de gegevens die door een query worden geretourneerd, in oplopende of aflopende volgorde te sorteren. Als we de sorteervolgorde weglaten, wordt het samengevatte resultaat standaard in oplopende volgorde gesorteerd. De ORDER BY-clausule kan, net als de GROUP BY-clausule, worden gebruikt in combinatie met de SELECT-instructie. ASC geeft oplopende volgorde aan, terwijl OMSCHRIJVING geeft aflopende volgorde aan.

Hieronder volgt de syntaxis voor het gebruik van de ORDER BY-clausule in een SQL-instructie:

c# datumtijd
 SELECT expressions FROM tables [WHERE conditions] ORDER BY expression [ ASC | DESC ]; 

Laten we aan de hand van het volgende voorbeeld begrijpen hoe de ORDER BY-clausule werkt. Stel dat we een tafel hebben ontwikkelaar die de volgende gegevens bevat:

GROEPEREN OP versus BESTELLEN OP

We kunnen zien dat deze resultaten niet op een georganiseerde manier worden weergegeven. Stel dat we de resultaten in oplopende of aflopende volgorde willen ordenen op basis van de staat kolom . In dat geval hebben we het commando ORDER BY nodig om het gewenste resultaat te krijgen. We kunnen dit doen door de opdracht als volgt uit te voeren:

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

Hier is de uitvoer waar we de gewenste resultaten zullen krijgen:

GROEPEREN OP versus BESTELLEN OP

GROEP OP clausule

De GROUP BY-clausule wordt gebruikt in SQL-query's om gegevens met dezelfde attribuutwaarden te ordenen. Meestal gebruiken we het met de SELECT-instructie . We moeten altijd onthouden dat we de GROUP BY-clausule na de WHERE-clausule moeten plaatsen. Bovendien wordt het tempo vóór de ORDER BY-clausule gegeven.

We kunnen deze clausule vaak gebruiken in samenwerking met aggregatiefuncties zoals SOM, AVG, MIN, MAX en COUNT om samenvattende rapporten uit de database te produceren. Het is belangrijk om te onthouden dat het attribuut in deze clausule moet voorkomen in de SELECT-clausule, en niet onder een aggregatiefunctie. Als we dat wel doen, is de vraag onjuist. Als gevolg hiervan wordt de GROUP BY-clausule altijd gebruikt in combinatie met de SELECT-clausule. De query voor de GROUP BY-clausule is een gegroepeerde query en retourneert één rij voor elk gegroepeerd object.

apurva padgaonkar

Hieronder volgt de syntaxis voor het gebruik van de GROUP BY-clausule in een SQL-instructie:

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

Laten we aan de hand van een voorbeeld begrijpen hoe de GROUP BY-clausule werkt. Hier zullen we het demonstreren met dezelfde tabel.

Stel dat we het willen weten het gemiddelde salaris van een ontwikkelaar in een bepaalde staat en organiseer de resultaten in aflopende volgorde op basis van de statuskolom. In dat geval hebben we zowel de opdracht GROUP BY als ORDER BY nodig om het gewenste resultaat te krijgen. We kunnen dit doen door de opdracht als volgt uit te voeren:

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

Deze zoekopdracht vormde aanvankelijk een tussenresultaat dat de staat heeft gegroepeerd. Vervolgens de AVG De functie wordt uitgevoerd op elke groep toestanden, sorteert vervolgens het resultaat in aflopende volgorde en uiteindelijk krijgen we de gewenste resultaten, zoals hieronder weergegeven:

GROEPEREN OP versus BESTELLEN OP

Belangrijkste verschillen tussen GROUP BY en ORDER BY

Hieronder volgen de belangrijkste verschillen tussen de Group By- en Order By-clausule:

  • De Group By-clausule wordt gebruikt om gegevens te groeperen op basis van dezelfde waarde in een specifieke kolom. De ORDER BY-clausule daarentegen sorteert het resultaat en toont het in oplopende of aflopende volgorde.
  • Het is verplicht om de aggregatiefunctie te gebruiken om Group By te gebruiken. Aan de andere kant is het niet verplicht om de aggregatiefunctie te gebruiken om de Order By te gebruiken.
  • Het attribuut kan niet onder de GROUP BY-instructie onder de aggregatiefunctie staan, terwijl het attribuut wel onder de ORDER BY-instructie onder de aggregatiefunctie kan staan.
  • De Group By-clausule bepaalt de presentatie van tupels, wat betekent dat groepering wordt uitgevoerd op basis van de gelijkenis tussen de attribuutwaarden van de rij. De ORDER BY-clausule regelt daarentegen de presentatie van kolommen, wat betekent dat de volgorde of sortering wordt uitgevoerd op basis van de attribuutwaarden van de kolom, in oplopende of aflopende volgorde.
  • GROUP BY wordt altijd na de WHERE-clausule geplaatst, maar vóór de ORDER BY-instructie. Aan de andere kant wordt ORDER BY altijd gebruikt na de GROUP BY-instructie.

GROEP OP versus ORDER OP Vergelijkingsdiagram

In het volgende vergelijkingsschema worden de belangrijkste verschillen op een snelle manier uitgelegd:

SN GROEP DOOR BESTEL DOOR
1. Het wordt gebruikt om de rijen met dezelfde waarden te groeperen. Het sorteert de resultatenset in oplopende of aflopende volgorde.
2. Het is mogelijk toegestaan ​​in de CREATE VIEW-instructie. Het is niet toegestaan ​​in de CREATE VIEW-instructie
3. Het regelt de presentatie van rijen. Het regelt de presentatie van kolommen.
4. Het attribuut kan niet onder de aggregatiefunctie onder de GROUP BY-instructie vallen. Het attribuut kan onder de aggregatiefunctie staan ​​onder de instructie ORDER BY.
5. Het wordt altijd gebruikt vóór de ORDER BY-clausule in de SELECT-instructie. Het wordt altijd gebruikt na de GROUP BY-clausule in de SELECT-instructie.
6. Het is verplicht om aggregatiefuncties te gebruiken in GROUP BY. Het is niet verplicht om aggregatiefuncties te gebruiken in ORDER BY.
7. Hier wordt de groepering uitgevoerd op basis van de gelijkenis tussen de attribuutwaarden van de rij. Hier wordt de resultatenset gesorteerd op basis van de attribuutwaarden van de kolom, in oplopende of aflopende volgorde.

Conclusie

In dit artikel worden de GROUP BY- en ORDER BY-clausules vergeleken. Beide clausules zijn uiterst nuttige SQL-databasefuncties. Als we een groep rijen willen vormen, gebruiken we de GROUP BY-clausule. Als we gegevens in oplopende of aflopende volgorde willen ordenen op basis van een bepaalde kolom, gebruiken we de ORDER BY-clausule. Ze hebben geen enkele relatie omdat beide voor twee verschillende doeleinden worden gebruikt. We kunnen ze echter combineren om een ​​speciaal doel te dienen of ze afzonderlijk gebruiken, afhankelijk van de omstandigheden. We kunnen deze clausules alleen gebruiken met de SELECT-instructie.

teken naar int java