Heim > Datenbank > MySQL-Tutorial > Wie kann ich numerische Daten in SQL in Bereiche gruppieren?

Wie kann ich numerische Daten in SQL in Bereiche gruppieren?

Barbara Streisand
Freigeben: 2025-01-17 21:21:11
Original
673 Leute haben es durchsucht

How Can I Group Numerical Data into Ranges in SQL?

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.

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;
Nach dem Login kopieren

Methode 2: CASE-Ausdruck in der Hauptabfrage

Alternativ kann der CASE-Ausdruck direkt in die Hauptabfrage eingebettet werden, wodurch die Struktur etwas vereinfacht wird.

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;
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage