Die GROUP BY-Anweisung in SQL wird verwendet, um identische Daten mithilfe einiger Funktionen in Gruppen anzuordnen. dh wenn eine bestimmte Spalte dieselben Werte in verschiedenen Zeilen hat, ordnet sie diese Zeilen in einer Gruppe an.

Wichtige Punkte:

  • GROUP BY Klausel wird mit der SELECT-Anweisung verwendet.
  • In der Abfrage wird GROUP BY Klausel nach der WHERE Klausel platziert.
  • In der Abfrage wird GROUP BY Klausel vor ORDER BY Klausel platziert, falls verwendet.,

Syntax:

Beispieltabelle:

Mitarbeiter

Student

Beispiel:

  • Group By single column: Group By single column bedeutet, alle Zeilen mit demselben Wert nur dieser bestimmten Spalte in einer Gruppe zu platzieren., Betrachten Sie die Abfrage wie unten gezeigt:
    SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAME;

    Die obige Abfrage erzeugt die folgende Ausgabe:

    Wie Sie in der obigen Ausgabe sehen können, werden die Zeilen mit doppelten NAMEn unter demselben NAMEN gruppiert und ihr entsprechendes GEHALT ist die Summe des GEHALTS doppelter Zeilen. Die SUM () Funktion von SQL wird hier verwendet, um die Summe zu berechnen.

  • Gruppe nach mehreren Spalten: Gruppe nach mehreren Spalten ist beispielsweise GRUPPE NACH Spalte1, Spalte2., Dies bedeutet, alle Zeilen mit denselben Werten der Spalten column1 und column2 in einer Gruppe zu platzieren. Betrachten Sie die folgende Abfrage:
    SELECT SUBJECT, YEAR, Count(*)FROM StudentGROUP BY SUBJECT, YEAR;

    Ausgabe:

    Wie Sie in der obigen Ausgabe sehen können, werden die Schüler mit demselben FACH und JAHR in derselben Gruppe platziert. Und diejenigen, deren einziges Thema gleich ist, aber nicht JAHR gehört zu verschiedenen Gruppen. Hier haben wir die Tabelle also nach zwei Spalten oder mehr als einer Spalte gruppiert.,

MIT der Klausel

wissen wir, dass die WHERE-Klausel zum Platzieren von Bedingungen in Spalten verwendet wird, aber was ist, wenn wir Bedingungen in Gruppen platzieren möchten?

Hier kommt HAVING Klausel in Gebrauch. Wir können die HAVING-Klausel verwenden, um Bedingungen zu platzieren, um zu entscheiden, welche Gruppe Teil der endgültigen Ergebnismenge sein wird. Außerdem können wir die Aggregatfunktionen wie SUM(), COUNT() usw. nicht verwenden. mit WHERE-Klausel. Wir müssen also die HAVING Klausel verwenden, wenn wir eine dieser Funktionen unter den Bedingungen verwenden möchten.,

Syntax:

Beispiel:

SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAMEHAVING SUM(SALARY)>3000; 

Ausgabe:

Wie Sie in der obigen Ausgabe sehen können, erscheint nur eine Gruppe aus den drei Gruppen in der Ergebnismenge, da es die einzige Gruppe ist, in der die Gehaltssumme größer als 3000 ist. Daher haben wir hier die HAVING-Klausel verwendet, um diese Bedingung zu platzieren, da die Bedingung in Gruppen und nicht in Spalten platziert werden muss.

Dieser Artikel wird von Harsh Agarwal beigesteuert. Wenn Sie GeeksforGeeks mögen und einen Beitrag leisten möchten, können Sie auch einen Artikel mit contribute schreiben.geeksforgeeks.,org oder mailen Sie Ihren Artikel an [email protected]. Sehen Sie Ihren Artikel auf der Hauptseite von GeeksforGeeks und helfen Sie anderen Geeks.