Heim >Datenbank >MySQL-Tutorial >Wie kann ich numerische Daten in SQL in Bereiche gruppieren?
SQL-Techniken zum Binning numerischer Daten
Diese Anleitung zeigt, wie numerische Daten in definierten Bereichen innerhalb einer SQL-Datenbank kategorisiert werden. Stellen Sie sich vor, Sie haben eine Tabelle mit einer numerischen Spalte (z. B. „Punktzahl“). Das Ziel besteht darin, eine Zusammenfassung zu erstellen, die die Anzahl der in jeden Bereich fallenden Ergebnisse zeigt.
Anschauliches Beispiel:
Eine Übersichtstabelle könnte so aussehen:
Score Range | Frequency |
---|---|
0-9 | 11 |
10-19 | 14 |
20-29 | 3 |
... | ... |
So erreichen Sie dies in SQL Server 2000 und höher:
Methode 1: CASE-Ausdruck innerhalb einer Unterabfrage
Diese Methode verwendet einen CASE
-Ausdruck innerhalb einer Unterabfrage, um jeder Punktzahl Bereichsbezeichnungen zuzuweisen, gefolgt von einer äußeren Abfrage, um Vorkommen innerhalb jedes Bereichs zu zählen.
<code class="language-sql">SELECT t.range AS "Score Range", COUNT(*) AS "Frequency" FROM ( SELECT score, CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' -- Handle scores outside defined ranges END AS range FROM scores ) t GROUP BY t.range;</code>
Methode 2: CASE-Ausdruck in der Hauptabfrage
Alternativ kann der CASE
-Ausdruck direkt in die Hauptabfrage eingebettet werden, wodurch die Struktur etwas vereinfacht wird.
<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' -- Handle scores outside defined ranges END AS "Score Range", COUNT(*) AS "Frequency" FROM scores GROUP BY CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' END;</code>
Diese Methoden gruppieren und fassen Daten effizient in benutzerdefinierten Bereichen zusammen und bieten wertvolle Einblicke in die Datenverteilung. Denken Sie daran, die CASE
-Anweisungen an Ihre spezifischen Bewertungsbereiche anzupassen. Erwägen Sie das Hinzufügen einer Fehlerbehandlung für Werte außerhalb der definierten Bereiche.
Das obige ist der detaillierte Inhalt vonWie kann ich numerische Daten in SQL in Bereiche gruppieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!