SQL GROUP BY für Datenbereichsaggregation
Die Analyse der Datenverteilung über verschiedene Bereiche hinweg ist ein entscheidender Aspekt der Datenanalyse. Die GROUP BY
-Klausel von SQL bietet einen robusten Mechanismus zum Aggregieren von Daten in vordefinierten Gruppen und erleichtert so die Erstellung prägnanter Übersichtstabellen und Berichte.
Bereichsbasierte Gruppen erstellen
Um Daten in bestimmte Bereiche zu kategorisieren, nutzen wir die CASE WHEN
-Anweisung, um einer neuen Spalte basierend auf definierten Bedingungen Werte zuzuweisen. Diese neu erstellte Spalte dient dann als Grundlage für die Gruppierung von Daten mithilfe der GROUP BY
-Klausel.
Anschauliches Beispiel: Score-Bereichsgruppierung
Betrachten wir ein Szenario, in dem wir die Häufigkeit von Werten innerhalb bestimmter Intervalle bestimmen müssen (z. B. 0–9, 10–19, 20–29). Die folgende Abfrage erstellt eine neue Spalte, die diese Bewertungsbereiche darstellt:
<code class="language-sql">SELECT CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' END AS score_range FROM scores;</code>
Diese Abfrage generiert eine score_range
-Spalte, die jede Punktzahl dem entsprechenden Bereich zuordnet.
Aggregation mit GROUP BY
Um die Anzahl der Punkte innerhalb jedes Bereichs zu berechnen, verwenden wir die Aggregatfunktion COUNT(*)
in Verbindung mit der Klausel GROUP BY
. Die folgende Abfrage erreicht dies:
<code class="language-sql">SELECT score_range, COUNT(*) AS score_count FROM ( SELECT CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' END AS score_range FROM scores ) AS ranged_scores GROUP BY score_range;</code>
Ausgabe
Die resultierende Tabelle zeigt zwei Spalten: score_range
und score_count
und bietet einen klaren Überblick über die Punkteverteilung über die definierten Bereiche.
Das obige ist der detaillierte Inhalt vonWie kann ich die GROUP BY-Klausel von SQL verwenden, um Daten in Bereichen zu aggregieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!