18th Apr 2024 7 Leseminuten SQL-Aggregat-Funktionen - Spickzettel Jill Thornhill Aggregatfunktionen Spickzettel SQL Cheat Sheet Deutsch Inhaltsverzeichnis Übliche SQL-Aggregatfunktionen SUMME() AVG() ZAEHLEN() ZAEHLEN(*) COUNT(spalten_name) COUNT(DISTINCT spalte_name) MIN() MAX() Verwendung von SQL-Aggregatfunktionen mit GROUP BY Verwendung von SQL-Aggregatfunktionen zum Ordnen Ihrer Daten Verwenden von SQL-Aggregatfunktionen zum Filtern Ihrer Daten Über die SQL-Aggregatfunktionen hinaus Spickzettel Eine Kurzreferenz für die Verwendung von SQL-Aggregatfunktionen. Dieses SQL Aggregate Functions Cheat Sheet soll Sie bei der Verwendung von SQL zur Datenanalyse begleiten. Das Aggregieren von Daten ist für jede sinnvolle Datenanalyse unerlässlich. SQL bietet eine Reihe von Funktionen, mit denen Sie Summen, Durchschnittswerte und Zählungen in Ihre Berichte aufnehmen und den Mindest- und Höchstwert einer beliebigen Datenspalte extrahieren können. In diesem Cheat Sheet werden wir die folgenden SQL-Aggregatfunktionen demonstrieren: SUM() - Gibt die Summe aller Werte zurück. AVG() - Gibt den durchschnittlichen Mittelwert aller Werte zurück. COUNT() - Zählt und gibt die Anzahl der Werte zurück. MIN() - Gibt den kleinsten Wert zurück. MAX() - Gibt den größten Wert zurück. Wir werden auch zeigen, wie man Aggregatfunktionen verwendet: Mit GROUP BY. Um Daten zu ordnen. Als Filterungsbedingung. Wenn Sie noch nie mit SQL gearbeitet haben, können Sie sich zunächst für unseren Kurs SQL für Anfänger anmelden. Dieser Kurs ist für absolute Anfänger geeignet; seine 129 interaktiven Übungen werden Ihnen helfen, schnell Kenntnisse und Sicherheit zu erlangen. Sie können bequem von zu Hause aus lernen - und Sie brauchen keine Software zu installieren, da Sie unsere Online-Datenbank über Ihren Browser nutzen werden. Übliche SQL-Aggregatfunktionen Alle Beispiele in diesem Spickzettel verwenden die folgenden Daten, die in einer Tabelle namens orders. departmentcustomeritemqtytot_valuedate_paid 125Kettle1152024-01-15 118Toaster440 216Mug12182024-01-22 325Desk4120 216Dinner Plate12242024-01-22 318Office Chair2362024-01-17 120Lamp345 210Cutlery Set1302024-01-22 SUMME() Die Funktion SUM() gibt die Gesamtsumme einer Zahlenspalte zurück. Beispiel: SELECT SUM(tot_value) FROM orders; Ergebnis: SUM(tot_value) 328 Weitere Informationen zur Verwendung der Funktion SUM() finden Sie in unserem Kochbuch How to Sum Values of a Column in SQL. Weitere Beispiele für die Funktion SUM() finden Sie in unserem Artikel SQL SUM() Function Explained with 5 Practical Examples. AVG() Die Funktion AVG() gibt den Durchschnittswert für eine Zahlenspalte zurück. Beispiel: SELECT AVG(qty) FROM orders; Ergebnis: AVG(qty) 4.875 Weitere Informationen über die Verwendung der Funktion AVG() finden Sie in unserem Kochbuch How to Find the Average of a Numeric Column in SQL. Weitere Beispiele für die Verwendung der Funktion AVG() finden Sie in unserem Artikel The SQL AVG() Function Explained with Examples ZAEHLEN() Die Funktion COUNT() gibt die Anzahl der Zeilen (d.h. der Werte) in einer bestimmten Spalte zurück. Es gibt drei verschiedene Möglichkeiten, diese Funktion zu verwenden. ZAEHLEN(*) Diese Option gibt Ihnen die Gesamtzahl der von Ihrer Abfrage zurückgegebenen Zeilen. Beispiel: SELECT COUNT(*) FROM orders; Ergebnis: COUNT(*) 8 COUNT(spalten_name) Mit dieser Option erhalten Sie die Anzahl der Zeilen in Ihrer Abfrage, in denen die genannte Spalte keinen Wert NULL enthält. Beispiel: Das Beispiel zeigt die Anzahl der Bestellungen, die bezahlt wurden, d.h. Bestellungen, bei denen date_paid nicht NULL ist. SELECT COUNT(date_paid) FROM orders; Ergebnis: COUNT(date_paid) 5 COUNT(DISTINCT spalte_name) Mit dieser Option erhalten Sie die Anzahl der eindeutigen Werte in der genannten Spalte. Beispiel: Wir wollen die Anzahl der verschiedenen Kunden anzeigen, die Bestellungen aufgegeben haben. SELECT COUNT(DISTINCT customer) FROM orders; Ergebnis: COUNT(DISTINCT customer) 5 Weitere Informationen über die Funktion COUNT() finden Sie in unserem Kochbuch How to Count the Number of Rows in a Table in SQL. Weitere Beispiele für die Verwendung der Funktion COUNT() finden Sie in unserem Artikel Die SQL-Funktion Count erklärt mit 7 Beispielen. Weitere Informationen zur Verwendung von COUNT(DISTINCT) finden Sie unter How to Count Distinct Values in SQL Weitere Informationen über den Unterschied zwischen COUNT(*), COUNT(column) und COUNT(DISTINCT) finden Sie unter Was ist der Unterschied zwischen COUNT(*), COUNT(1), COUNT(column) und COUNT(DISTINCT)? MIN() Die Funktion MIN() gibt den kleinsten Wert in einer Spalte zurück. Diese Funktion funktioniert mit den meisten Datentypen, einschließlich Zahlen, Zeichenketten (der erste in alphabetischer Reihenfolge) und Datumsangaben (d. h. das älteste Datum). Beispiel: SELECT MIN(tot_value) FROM orders; Ergebnis: MIN(tot_value) 15.00 Weitere Informationen zur Arbeit mit der Funktion MIN() finden Sie in unserem Kochbuch How to Find the Minimum Value of a Column in SQL. Weitere Beispiele für die Funktion MIN() finden Sie in unserem Artikel SQL MIN und MAX Funktionen in 6 Beispielen erklärt. MAX() Die Funktion MAX() gibt den größten Wert in einer Spalte zurück. Diese Funktion funktioniert mit den meisten Datentypen, einschließlich Zahlen, Zeichenketten (die letzten in alphabetischer Reihenfolge) und Datumsangaben (d. h. das jüngste Datum). Beispiel: SELECT MAX(date_paid) FROM orders; Ergebnis: MAX(date_paid) 2024-01-24 Weitere Informationen zur Arbeit mit der Funktion MAX() finden Sie unter Wie man den Maximalwert einer numerischen Spalte in SQL findet. Weitere Beispiele finden Sie unter SQL MIN- und MAX-Funktionen in 6 Beispielen erklärt. Verwendung von SQL-Aggregatfunktionen mit GROUP BY In den obigen Beispielen wurden die Aggregate über die gesamte Tabelle berechnet. Sie benötigen jedoch oft Aggregate, die in Gruppen aufgeteilt sind, z. B. um den Gesamtwert der Bestellungen nach Kunde oder die durchschnittliche Bestellmenge nach Abteilung zu berechnen. In SQL erstellt die Klausel GROUP BY die Gruppen, die wir für die Aggregation verwenden. Diese Klausel unterdrückt einzelne Zeilen, so dass der Bericht eine Zeile pro definierter Gruppe enthält. Wenn Sie nach Kunden gruppieren, wird für jeden Kunden eine Zeile angezeigt. Diese Zeile enthält die zusammengefassten Informationen, die Sie angefordert haben. Sie können nach mehr als einem Kriterium gruppieren, z. B. können Sie Kunden nach ihrem geografischen Gebiet gruppieren, um Kunden innerhalb jedes Gebiets zu erhalten. Weitere Informationen zur Gruppierung in SQL finden Sie in unserem Artikel GROUP BY in SQL erklärt. Beispiel: SELECT customer, SUM(tot_value) FROM orders GROUP BY customer; Ergebnis: customerSUM(tot_value) 1030.00 1642.00 1876.00 2045.00 25135.00 Die Spalte, nach der Sie gruppieren, muss in der Regel in Ihrer SELECT Liste enthalten sein, sonst ist die Ausgabe nicht sinnvoll. Die Liste SELECT kann nur die Spalte, nach der Sie gruppieren, Ihre Aggregatfunktionen und Literalwerte enthalten. Wenn eine Spalte aufgeführt wird, die nicht in einem Aggregat verwendet wird und nicht in der GROUP BY Klausel enthalten ist, erhalten Sie eine Fehlermeldung. Sie können mehr als eine Aggregatfunktion in Ihre Abfrage aufnehmen und nach mehr als einer Spalte gruppieren. Führen Sie sie von der Haupt- zur Nebengruppe auf, getrennt durch Kommas. Weitere Informationen finden Sie in diesen Artikeln: Verwendung von SUMME() mit GROUP BY: Eine detaillierte Anleitung mit 8 Beispielen Wie verwendet man COUNT() mit GROUP BY: 5 praktische Beispiele Wenn Sie die Verwendung von Aggregaten mit Gruppen üben möchten, lesen Sie SQL-Praxis: 10 GROUP BY-Übungen mit detaillierten Lösungen. Verwendung von SQL-Aggregatfunktionen zum Ordnen Ihrer Daten Möglicherweise möchten Sie Ihre Ergebnisse auf der Grundlage einer Aggregatspalte ordnen. Da ORDER BY nach GROUP BY berechnet wird, können Sie Aggregatfunktionen direkt in der Klausel ORDER BY verwenden. Beispiel: Sie möchten die Bestellungen nach Kunden gruppieren und dann die Kunden nach dem Gesamtwert ihrer Bestellungen sortiert anzeigen; auf diese Weise erscheint der Kunde mit dem höchsten Wert an Bestellungen am Anfang der Liste. SELECT customer, sum(tot_value) FROM orders GROUP BY customer ORDER BY sum(tot_value) DESC; Ergebnis: customerSUM(tot_value) 25135.00 1876.00 2045.00 1642.00 1030.00 Sie können ein Aggregat in der ORDER BY -Klausel in genau demselben Format angeben, das Sie bei der Angabe in Ihrer Liste der auszuwählenden Spalten verwendet haben. Die DESC Klausel sortiert die Zeilen vom höchsten zum niedrigsten Wert. Weitere Informationen über das Sortieren nach Aggregatfunktionen finden Sie in diesen SQL-Kochbüchern: Wie man Zeilen nach Gruppensumme in SQL sortiert Sortieren nach COUNT() in SQL Verwenden von SQL-Aggregatfunktionen zum Filtern Ihrer Daten Manchmal werden Sie nach einer Aggregatspalte filtern wollen. Um nach einem Aggregat zu filtern, verwenden Sie die HAVING Klausel. Optional können Sie diese Klausel in Verbindung mit der WHERE Klausel verwenden, um weitere Filter für Nicht-Aggregatspalten hinzuzufügen. Beispiel: Sie möchten eine Liste von Kunden, die mehr als einen bestimmten Warenwert bezahlt haben, um sie in Sonderangebote aufzunehmen. SELECT customer, SUM(tot_value) FROM orders WHERE date_paid IS NOT NULL GROUP BY customer HAVING sum(tot_value) > 30 ORDER BY customer; Ergebnis: customerSUM(tot_value) 1642.00 1836.00 Um die Zeilen nach einer Aggregatfunktion zu filtern, müssen Sie die Klausel HAVING verwenden. Die Klausel HAVING folgt unmittelbar auf die Klausel GROUP BY. Optional können Sie auch eine WHERE -Klausel und eine ORDER BY -Klausel einfügen. Weitere Informationen finden Sie in diesen SQL-Kochbüchern: Wie man Datensätze mit der Aggregatfunktion COUNT() filtert Wie man Datensätze mit der Aggregatfunktion SUM() filtert So filtern Sie Datensätze mit der Aggregatfunktion AVG() So finden Sie Zeilen mit dem Mindestwert So finden Sie Zeilen mit dem Maximalwert Über die SQL-Aggregatfunktionen hinaus Spickzettel Wenn Sie Ihre SQL-Kenntnisse vertiefen möchten, sollten Sie sich unser Angebot an interaktiven SQL-Kursen ansehen. Wir bieten eine breite Palette von Kursen für verschiedene SQL-Kenntnisstufen an. Wir haben auch spezielle Kurse, die die Verwendung von SQL in der Datenanalyse behandeln. Ich empfehle besonders unserenSQL-Praxis Lernpfad. Er enthält 9 Kurse, die sich auf eine umfassende SQL-Praxis konzentrieren, einschließlich SQL-JOINs und Aggregatfunktionen. Die Übungen werden mit realistischen Datensätzen durchgeführt, z. B. mit einer Datenbank für eine Universität und ein Geschäft. Wir veröffentlichen auch einen neuen SQL-Praxiskurs in unserem Monatliche SQL-Herausforderung -Track. Sie können alle oben genannten Kurse und mehr mit unserem Alle für immer SQL Plan erhalten . Er gibt Ihnen lebenslangen Zugang zu allen aktuellen und zukünftigen Kursen auf unserer Plattform. Viel Spaß beim Lernen! Tags: Aggregatfunktionen Spickzettel SQL Cheat Sheet Deutsch