logo

GROUP BY vs. ORDER BY

In diesem Artikel wird die vollständige Übersicht über die Klauseln GROUP BY und ORDER BY erläutert. Sie werden hauptsächlich zum Organisieren von Daten verwendet, die durch SQL-Abfragen erhalten werden. Der Unterschied zwischen diesen Klauseln ist einer der häufigsten Punkte, an denen man beim Lernen stecken bleibt SQL . Der Hauptunterschied zwischen ihnen besteht darin Die GROUP BY-Klausel ist anwendbar, wenn wir Aggregatfunktionen für mehr als einen Satz von Zeilen verwenden möchten. Die ORDER BY-Klausel ist anwendbar, wenn wir die durch eine Abfrage erhaltenen Daten in der Sortierreihenfolge abrufen möchten . Bevor wir den Vergleich durchführen, werden wir zunächst diese SQL-Klauseln kennen.

GROUP BY vs. ORDER BY

ORDER BY-Klausel

Die ORDER BY-Klausel wird in SQL-Abfragen verwendet, um die von einer Abfrage zurückgegebenen Daten in aufsteigender oder absteigender Reihenfolge zu sortieren. Wenn wir die Sortierreihenfolge weglassen, wird das zusammengefasste Ergebnis standardmäßig in aufsteigender Reihenfolge sortiert. Die ORDER BY-Klausel kann ebenso wie die GROUP BY-Klausel in Verbindung mit der SELECT-Anweisung verwendet werden. ASC bezeichnet aufsteigende Reihenfolge, während BESCHREIBUNG bezeichnet absteigende Reihenfolge.

Im Folgenden finden Sie die Syntax zur Verwendung der ORDER BY-Klausel in einer SQL-Anweisung:

Was ist Map Java?
 SELECT expressions FROM tables [WHERE conditions] ORDER BY expression [ ASC | DESC ]; 

Lassen Sie uns anhand des folgenden Beispiels verstehen, wie die ORDER BY-Klausel funktioniert. Angenommen, wir haben einen Tisch Entwickler das folgende Daten enthält:

GROUP BY vs. ORDER BY

Wir können sehen, dass diese Ergebnisse nicht organisiert angezeigt werden. Angenommen, wir möchten die Ergebnisse in aufsteigender oder absteigender Reihenfolge basierend auf dem organisieren Statusspalte . In diesem Fall benötigen wir den Befehl ORDER BY, um das gewünschte Ergebnis zu erhalten. Wir können dies tun, indem wir den Befehl wie folgt ausführen:

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

Hier ist die Ausgabe, mit der wir die gewünschten Ergebnisse erhalten:

GROUP BY vs. ORDER BY

GROUP BY-Klausel

Die GROUP BY-Klausel wird in SQL-Abfragen verwendet, um Daten zu organisieren, die dieselben Attributwerte haben. Normalerweise verwenden wir es mit der SELECT-Anweisung. Denken Sie immer daran, dass wir die GROUP BY-Klausel nach der WHERE-Klausel platzieren müssen. Darüber hinaus wird die Reihenfolge vor der ORDER BY-Klausel gesetzt.

Wir können diese Klausel häufig in Zusammenarbeit mit Aggregatfunktionen wie SUM, AVG, MIN, MAX und COUNT verwenden, um zusammenfassende Berichte aus der Datenbank zu erstellen. Es ist wichtig zu bedenken, dass das Attribut in dieser Klausel in der SELECT-Klausel und nicht unter einer Aggregatfunktion erscheinen muss. Andernfalls wäre die Abfrage falsch. Daher wird die GROUP BY-Klausel immer in Verbindung mit der SELECT-Klausel verwendet. Die Abfrage für die GROUP BY-Klausel ist eine gruppierte Abfrage und gibt für jedes gruppierte Objekt eine einzelne Zeile zurück.

Rihannas Alter

Im Folgenden finden Sie die Syntax zur Verwendung der GROUP BY-Klausel in einer SQL-Anweisung:

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

Lassen Sie uns anhand eines Beispiels verstehen, wie die GROUP BY-Klausel funktioniert. Hier werden wir es mit derselben Tabelle demonstrieren.

Angenommen, wir wollen es wissen Durchschnittsgehalt eines Entwicklers in einem bestimmten Bundesstaat und organisieren Sie die Ergebnisse in absteigender Reihenfolge basierend auf der Statusspalte. In diesem Fall benötigen wir sowohl den Befehl GROUP BY als auch den Befehl ORDER BY, um das gewünschte Ergebnis zu erhalten. Wir können dies tun, indem wir den Befehl wie folgt ausführen:

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

Diese Abfrage ergab zunächst ein Zwischenergebnis, das den Zustand gruppiert hat. Als nächstes die Durchschnittlich Funktion wird für jede Gruppe von Zuständen ausgeführt, dann wird das Ergebnis in absteigender Reihenfolge sortiert, und schließlich erhalten wir die gewünschten Ergebnisse, wie unten gezeigt:

GROUP BY vs. ORDER BY

Hauptunterschiede zwischen GROUP BY und ORDER BY

Im Folgenden sind die wichtigsten Unterschiede zwischen der Group By- und der Order By-Klausel aufgeführt:

  • Die Group By-Klausel wird verwendet, um Daten basierend auf demselben Wert in einer bestimmten Spalte zu gruppieren. Die ORDER BY-Klausel hingegen sortiert das Ergebnis und zeigt es in aufsteigender oder absteigender Reihenfolge an.
  • Für die Verwendung von „Gruppieren nach“ ist die Verwendung der Aggregatfunktion zwingend erforderlich. Andererseits ist es nicht zwingend erforderlich, die Aggregatfunktion zu verwenden, um „Sortieren nach“ zu verwenden.
  • Das Attribut darf nicht unter der Anweisung GROUP BY unter der Aggregatfunktion stehen, wohingegen das Attribut unter der Anweisung ORDER BY unter der Aggregatfunktion stehen kann.
  • Die Group By-Klausel steuert die Darstellung von Tupeln, was bedeutet, dass die Gruppierung auf der Grundlage der Ähnlichkeit zwischen den Attributwerten der Zeile erfolgt. Im Gegensatz dazu steuert die ORDER BY-Klausel die Darstellung von Spalten, was bedeutet, dass die Reihenfolge oder Sortierung basierend auf den Attributwerten der Spalte entweder in aufsteigender oder absteigender Reihenfolge erfolgt.
  • GROUP BY wird immer nach der WHERE-Klausel, aber vor der ORDER BY-Anweisung platziert. Andererseits wird ORDER BY immer nach der GROUP BY-Anweisung verwendet.

Vergleichstabelle „GROUP BY vs. ORDER BY“.

In der folgenden Vergleichstabelle werden die wichtigsten Unterschiede kurz erläutert:

SN GRUPPIERE NACH SORTIEREN NACH
1. Es wird verwendet, um die Zeilen zu gruppieren, die die gleichen Werte haben. Es sortiert die Ergebnismenge entweder in aufsteigender oder absteigender Reihenfolge.
2. Dies kann in der CREATE VIEW-Anweisung zulässig sein. Dies ist in der CREATE VIEW-Anweisung nicht zulässig
3. Es steuert die Darstellung von Zeilen. Es steuert die Darstellung von Spalten.
4. Das Attribut darf nicht unter der Aggregatfunktion der GROUP BY-Anweisung stehen. Das Attribut kann unter der Aggregatfunktion unter der ORDER BY-Anweisung stehen.
5. Es wird immer vor der ORDER BY-Klausel in der SELECT-Anweisung verwendet. Es wird immer nach der GROUP BY-Klausel in der SELECT-Anweisung verwendet.
6. Es ist zwingend erforderlich, Aggregatfunktionen in GROUP BY zu verwenden. Es ist nicht zwingend erforderlich, Aggregatfunktionen in ORDER BY zu verwenden.
7. Hier erfolgt die Gruppierung basierend auf der Ähnlichkeit zwischen den Attributwerten der Zeile. Hier wird die Ergebnismenge basierend auf den Attributwerten der Spalte entweder aufsteigend oder absteigend sortiert.

Abschluss

In diesem Artikel werden die Klauseln GROUP BY und ORDER BY verglichen. Bei beiden Klauseln handelt es sich um äußerst nützliche SQL-Datenbankfunktionen. Wenn wir eine Gruppe von Zeilen bilden möchten, verwenden wir die GROUP BY-Klausel. Wenn wir Daten basierend auf einer bestimmten Spalte in aufsteigender oder absteigender Reihenfolge organisieren möchten, verwenden wir die ORDER BY-Klausel. Sie haben keine Beziehung zueinander, da beide für zwei unterschiedliche Zwecke verwendet werden. Wir können sie jedoch für einen bestimmten Zweck kombinieren oder sie je nach den Umständen einzeln verwenden. Wir können diese Klauseln nur mit der SELECT-Anweisung verwenden.

string zu jsonobject