Aggregation Functions
Teil des Abschnitts Grundlagen der SQL-Journey von Coddy — Lektion 68 von 72.
Aggregationsfunktionen werden verwendet, um den AVG() oder MAX() oder jede andere Aggregationsfunktion bis zur aktuellen Zeile zu berechnen.
Zum Beispiel könnten wir den maximalen Umsatz berechnen, den wir bis zum Ende des jeweiligen Zeitraums erzielt haben:
| Monat | Umsatz | Region |
| 4 | 40 | Ost |
| 5 | 20 | Ost |
| 6 | 60 | West |
| 7 | 55 | West |
| 8 | 61 | Ost |
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1Dies gibt Folgendes zurück:
| Monat | Umsatz | max_Umsatz |
| 4 | 40 | 40 |
| 5 | 20 | 40 |
| 6 | 60 | 60 |
| 7 | 55 | 60 |
| 8 | 61 | 61 |
Für die Monate 4 und 5 beträgt der maximale Umsatz 40, für die Monate 6 und 7 sind es 60 und für den Monat 8 sind es 61. Dies liegt daran, dass, wenn ein neuer, höherer Umsatz gefunden wird, der alte verworfen und der bisher höchste verwendet wird.
Für die AVG()-Funktion sieht es so aus:
SELECT month, revenue, AVG(revenue) OVER (ORDER BY month ASC) as avg_revenue
from table1| Monat | Umsatz | durchschnittlicher_Umsatz |
| 4 | 40 | 40 |
| 5 | 20 | 30 |
| 6 | 60 | 40 |
| 7 | 55 | 43.75 |
| 8 | 61 | 47.2 |
Wir können unsere Berechnungen auch mithilfe von PARTITION BY nach bestimmten Kategorien gruppieren. Zum Beispiel:
SELECT month, revenue, region,
MAX(revenue) OVER (PARTITION BY region ORDER BY month ASC) as max_revenue
FROM table1Würde uns Folgendes liefern:
| Monat | Umsatz | Region | Maximaler Umsatz |
| 4 | 40 | Osten | 40 |
| 5 | 20 | Osten | 40 |
| 6 | 60 | Westen | 60 |
| 7 | 55 | Westen | 60 |
| 8 | 61 | Osten | 61 |
Jetzt wird das Maximum für jede Region separat berechnet. Die Regionen Ost und West verwalten ihre eigenen laufenden Maxima unabhängig voneinander.
Aufgabe
EinfachVerfügbare Tabellen und Spalten:
<strong>books</strong>:<strong>book</strong>,<strong>page</strong>,<strong>words</strong>
Zeigen Sie für jedes Buch den Buchnamen, die Gesamtzahl der Seiten und die Anzahl der Wörter auf jeder Seite an und berechnen Sie:
- Die maximale Anzahl an Wörtern, die auf einer beliebigen Seite in diesem Buch gefunden wurde
- Die durchschnittliche Anzahl der Wörter pro Seite für das gesamte Buch
- Die Differenz zwischen den Wörtern der aktuellen Seite und der durchschnittlichen Wortanzahl pro Seite des Buches
Zeigen Sie die Ergebnisse sortiert nach Buch und Seitenzahl an.
Geben Sie die folgenden Spalten zurück:
bookpagewordsmax_words_in_bookavg_words_per_pagediff_from_avg
Spickzettel
Window-Funktionen mit Aggregation berechnen Werte über eine Menge von Zeilen, die mit der aktuellen Zeile in Beziehung stehen. Verwenden Sie die OVER-Klausel mit ORDER BY für laufende Berechnungen:
SELECT column,
MAX(column) OVER (ORDER BY column ASC) as running_max,
AVG(column) OVER (ORDER BY column ASC) as running_avg
FROM tableVerwenden Sie PARTITION BY, um Berechnungen nach Kategorien zu gruppieren:
SELECT column, category,
MAX(column) OVER (PARTITION BY category ORDER BY column ASC) as max_per_category
FROM tableDies berechnet das Maximum separat für jede Kategorie und behält unabhängige laufende Berechnungen bei.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns9Multiple tables
Basic Join Part 1Basic Join Part 2Recap - JoinSelf joinRecap - Self JoinUnionSimplify queries, WITH keywordRecap - With QueriesRecap - Real Estate Contractor12Window Functions part 2
RANK & DENSE_RANK FunctionsRecap - RANK & DENSE_RANKNTILE FunctionAggregation FunctionsROWS & RANGE Criterion