BigQuery-Aggregationsfunktionen: AVG, SUM, MIN, MAX und COUNT

August 23, 2024
Kapitel 6: BigQuery-Aggregationsfunktionen: AVG, SUM, MIN, MAX und COUNT

Bevor Sie tiefer in dieses Kapitel eintauchen, lesen Sie bitte unser vorheriges Kapitel, in dem wir die GROUP BY-Klausel ausführlich besprechen. Aggregationsfunktionen und GROUP BY gehen Hand in Hand, da sie häufig zusammen verwendet werden, um Daten zu gruppieren und Berechnungen für diese Gruppen durchzuführen.

Einführung in Aggregationsfunktionen

Aggregationsfunktionen in SQL ermöglichen es Ihnen, Berechnungen für eine Reihe von Werten durchzuführen, um einen einzelnen Wert zurückzugeben. Diese Funktionen werden häufig mit der GROUP BY-Anweisung verwendet, die Zeilen mit denselben Werten in Zusammenfassungszeilen gruppiert. Bevor Sie sich mit Aggregationsfunktionen befassen, ist es wichtig, die GROUP BY-Anweisung zu verstehen, da sie häufig zusammen verwendet werden.

1. Zählen der Gesamtzahl der Datensätze: COUNT (*)

SELECT 
      COUNT(*) AS total_trips,
FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips`

BigQuery-Ergebnis mit COUNT-Funktion


Diese Abfrage zählt die Gesamtzahl der Zeilen in der angegebenen Tabelle, was zu einem einzelnen Wert führt, der die Gesamtzahl der Datensätze in der Datenmenge darstellt. Zum Beispiel die bikeshare_trips Die Tabelle enthält insgesamt 1.947.417 Zeilen.

2. Berechnung der Durchschnittswerte: AVG

Als Nächstes berechnen wir den Durchschnittswert einer bestimmten Spalte mithilfe der AVG-Funktion.

SELECT 
      AVG(duration_sec) AS avg_duration_sec
FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips`


BigQuery-Ergebnis mit der AVG-Aggregationsfunktion

Diese Abfrage berechnet den Durchschnittswert aller Einträge in der Dauer_Sek Spalte. Basierend auf dem Ergebnis beträgt die durchschnittliche Reisedauer ungefähr 1.008 Sekunden, was etwa 17 Minuten entspricht. Solche allgemeinen Erkenntnisse können mithilfe der AVG-Funktion effektiv gewonnen werden.
Lassen Sie uns nun eine Spalte in diese Abfrage einführen und die GROUP BY-Klausel damit verwenden.

SELECT 
      start_station_name,
      AVG(duration_sec) AS avg_duration_sec
FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips`
GROUP BY 1

Das Abfrageergebnis zeigt avg_duration_sec für einen eindeutigen Stationsnamen an

Diese Query berechnet die durchschnittliche Reisedauer (Dauer_Sek) für jeden Name der Startstation. Indem Sie die Ergebnisse nach der Startstation gruppieren, können Sie die durchschnittliche Dauer der Fahrten ermitteln, die von jeder Station aus gestartet wurden.

Lassen Sie uns nun herausfinden, welche Station die längste durchschnittliche Dauer hatte, indem wir die ORDER BY-Klausel verwenden, um die Ergebnisse zu sortieren.

SELECT 
      start_station_name,
      AVG(duration_sec) AS avg_duration_sec
FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips`
GROUP BY 1
ORDER BY 2 DESC

Diese Abfrage berechnet die durchschnittliche Reisedauer für jede Startstation und sortiert die Ergebnisse dann in absteigender Reihenfolge nach der durchschnittlichen Dauer (durchschnittliche_Dauer in Sekunden). Auf diese Weise wird die Station mit der längsten durchschnittlichen Reisedauer — wie University und Emerson — ganz oben in der Liste angezeigt.

Abfrageergebnis mit Angabe der durchschnittlichen Dauer

3. Summieren von Werten: SUM (column_name)

Die durchschnittliche Dauer liefert zwar nützliche Informationen, aber sie könnte verzerrt sein, wenn eine Station wie University und Emerson nur eine außergewöhnlich lange Fahrt hätten. Diese Einschränkung bedeutet, dass wir nicht wissen, wie häufig solche Ereignisse aufgetreten sind. Um ein klareres Bild der Daten zu erhalten, können wir die SUM-Funktion verwenden, um alle Reisedauern für jede Station zu addieren, und die COUNT-Funktion verwenden, um zu ermitteln, wie viele Fahrten von jeder Station aus gestartet wurden.

SELECT 
      start_station_name,
      AVG(duration_sec) AS avg_duration_sec,
      SUM(duration_sec) AS sum_duration_sec,
      COUNT(trip_id) AS count_trip
FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips`
GROUP BY 1
ORDER BY 2 DESC

Hinweis: Die Funktionen SUM und AVG können nur auf numerische Datentypen wie Ganzzahlen und Gleitkommazahlen angewendet werden. Sie können nicht mit den Datentypen Zeichenfolge oder Datum verwendet werden.

Ergebnis mit AVG, SUM und COUNT abfragen

Diese Query berechnet die durchschnittliche Reisedauer, die Gesamtdauer aller Fahrten und die Anzahl der Fahrten für jede Startstation. Durch die Sortierung der Ergebnisse auf der Grundlage der Gesamtdauer (Gesamtdauer_Sek), können wir besser verstehen, welche Stationen die höchste kumulierte Reisedauer haben und wie oft Fahrten von jeder Station aus beginnen. Dieser Ansatz bietet einen umfassenderen Überblick über die Daten, die über die durchschnittliche Dauer hinausgehen.

4. Minimal- und Maximalwerte finden: MIN und MAX

Die Funktionen MIN und MAX helfen dabei, die kleinsten und größten Werte in einem Datensatz zu identifizieren.

SELECT 
      start_station_name,
      AVG(duration_sec) AS avg_duration_sec,
      SUM(duration_sec) AS sum_duration_sec,
      COUNT(trip_id) AS count_trip,
      MIN(duration_sec) AS min_duration_sec,
      MAX(duration_sec) AS max_duration_sec,
FROM `bigquery-public-data.san_francisco_bikeshare.bikeshare_trips`
GROUP BY 1
ORDER BY 4 DESC

Abfrage mit MIN- und MAX-Aggregationsfunktion


Diese Abfrage findet die Mindest- und Höchstwerte in der angegebenen Spalte. Das Ergebnis zeigt den kleinsten bzw. den größten Wert.

5. Verstehen Sie Ihre Daten mithilfe von Aggregationsfunktionen

Jetzt werden wir zu Shopdaten wechseln, um Aggregationsfunktionen in den verschiedenen Datensatztypen zu verwenden.

SELECT 
    seller_channel,
    COUNT(*) AS count_rows,
    COUNT(order_number) AS count_order_number,
    COUNT (discount_code) AS count_discount_code
 FROM `dwh-udemy-course.3_dwh_ecommerce.order_item`
GROUP BY 1
ORDER BY 1

Zusammenfassend haben wir zuvor untersucht, wie konsistent Bestellnummern vorhanden waren, Rabattcodes jedoch nur für den Online-Shop relevant waren. Für ein tieferes Verständnis haben wir die Produktmengen untersucht, die über verschiedene Verkäuferkanäle bestellt wurden. Wir haben beispielsweise festgestellt, dass wir für zwei Verkäuferkanäle — „Über Sie“ und „Online Shop“ — Mengen für eBay bestellt hatten, nicht aber für „Auto“, was darauf hindeutet, dass über diesen Kanal keine Produkte verkauft wurden.

Darüber hinaus haben wir die durchschnittliche Menge der bestellten Produkte berechnet und sie kanalübergreifend verglichen. Wir haben festgestellt, dass im „Online Shop“ die durchschnittliche Menge an bestellten Produkten zwar etwas höher war als bei „Über Sie“, es ist jedoch wichtig zu beachten, dass dieser Durchschnitt auf den bestellten Artikeln und nicht auf der Gesamtbestellmenge beruhte. Diese Unterscheidung ist für eine genaue Analyse von entscheidender Bedeutung.

Wie wir anhand der BigQuery-Beispiele gesehen haben, bieten Aggregationsfunktionen und die GROUP BY-Klausel leistungsstarke Tools für die Datenanalyse. Für detailliertere Einblicke sollten Sie erwägen, mit verschiedenen GROUP BY-Spalten zu experimentieren, z. B. die Namen der Start- und Endstationen in den Bike-Share-Daten zu vergleichen, um die durchschnittliche Dauer zwischen den Stationen zu ermitteln. Das Verständnis dieser Nuancen ermöglicht eine umfassendere Datenanalyse.

Fazit

Das Verständnis und die effektive Verwendung von Aggregationsfunktionen in SQL sind für die Datenanalyse von entscheidender Bedeutung. Mit Funktionen wie AVG, SUM, MIN, MAX und COUNT können Sie große Datensätze effizient zusammenfassen und analysieren. In Kombination mit der GROUP BY-Anweisung bieten diese Funktionen aussagekräftige Einblicke in Ihre Daten.

Ganz gleich, ob Sie Gesamteinträge zählen, Durchschnittswerte berechnen, Werte summieren oder Mindest- und Höchstwerte ermitteln, die Beherrschung dieser Aggregationsfunktionen wird Ihre Datenanalysefunktionen verbessern. Experimentieren Sie mit diesen Funktionen an Ihren Datensätzen, um wertvolle Erkenntnisse und Trends zu entdecken. Weitere Informationen und ausführliche Tutorials finden Sie in unseren anderen Blogbeiträgen und Videos. Viel Spaß beim Abfragen!

In der Welt der Datenanalyse sind SQL-Kenntnisse unerlässlich. Ein wichtiger Aspekt von SQL ist das Verständnis, wie Aggregationsfunktionen zum Zusammenfassen und Analysieren von Daten verwendet werden. In diesem Blogbeitrag werden die wichtigsten Aggregationsfunktionen — AVG, SUM, MIN, MAX und COUNT — mithilfe von Google BigQuery behandelt. Wir werden praktische Beispiele untersuchen, um Ihnen zu helfen, die Anwendungen und die Bedeutung dieser Funktionen zu verstehen.

Abonnieren Sie unseren Newsletter
Danke! Deine Einreichung ist eingegangen!
Hoppla! Beim Absenden des Formulars ist etwas schief gelaufen.