Heim >Datenbank >MySQL-Tutorial >Wie gruppiere ich Daten mithilfe von SQL in Bereiche?

Wie gruppiere ich Daten mithilfe von SQL in Bereiche?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-17 21:31:17231Durchsuche

How to Group Data into Ranges using SQL?

SQL-Datenbereichsgruppierung

Das Gruppieren von Daten in verschiedene Bereiche ist eine häufige Aufgabe bei der Datenanalyse. In SQL gibt es dafür mehrere Möglichkeiten, einschließlich der Verwendung von CASE-Ausdrücken und bedingten Anweisungen.

Methode 1: CASE-Ausdruck verwenden

Mit einem CASE-Ausdruck können Sie eine neue Spalte namens „Bereich“ erstellen, um jede Punktzahl einem Bereich zuzuordnen. Zum Beispiel:

<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 range
FROM scores;</code>

Sie können diese Bereichsspalte dann verwenden, um das Ergebnis zu gruppieren und zu berechnen:

<code class="language-sql">SELECT range AS [分数范围], COUNT(*) AS [出现次数]
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 range
  FROM scores) t
GROUP BY t.range;</code>

Methode 2: Verwenden Sie bedingte Anweisungen in der SELECT-Anweisung

Alternativ können Sie die Bereichsspalte direkt mithilfe einer bedingten Anweisung in der SELECT-Klausel erstellen:

<code class="language-sql">SELECT 
  CASE 
    WHEN score >= 0 AND score < 10 THEN '0-9'
    WHEN score >= 10 AND score < 20 THEN '10-19'
    ELSE '20-99' 
  END AS [分数范围], COUNT(*) AS [出现次数]
FROM scores
GROUP BY [分数范围];</code>

Beide Methoden erzeugen die gewünschte Ausgabe und zeigen die Anzahl der Vorkommen für jeden Bewertungsbereich an.

Das obige ist der detaillierte Inhalt vonWie gruppiere ich Daten mithilfe von SQL in Bereiche?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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