Heim  >  Artikel  >  Datenbank  >  Wie erstelle ich Histogramme mit vordefinierten Bins in MySQL?

Wie erstelle ich Histogramme mit vordefinierten Bins in MySQL?

Linda Hamilton
Linda HamiltonOriginal
2024-10-31 04:49:30990Durchsuche

How to Create Histograms with Predefined Bins in MySQL?

Erstellen von Histogrammen mit vordefinierten Bins in MySQL

Um Daten für die Darstellung von Histogrammen zu erhalten, müssen Benutzer häufig numerische Werte in vordefinierte Bins gruppieren. SQL-Abfragen können diese Aufgabe erfüllen, sodass keine zusätzliche Skripterstellung erforderlich ist.

Bedenken Sie die Abfrage:

<code class="sql">select total, count(total) from faults GROUP BY total;</code>

Diese Abfrage generiert jedoch zahlreiche Zeilen. Um Daten in Klassen zu gruppieren, führen Sie die folgenden Schritte aus:

  1. Runden Sie den numerischen Wert mithilfe der Funktion ROUND() mit einem negativen Offset auf die gewünschte Klassengröße. Um beispielsweise Bins der Größe 10 zu erstellen, verwenden Sie: ROUND(total, -1).
  2. Gruppieren Sie die gerundeten Werte mit der GROUP BY-Klausel:
<code class="sql">SELECT ROUND(total, -1) AS bin, COUNT(*) AS count
FROM faults
GROUP BY bin;</code>

Diese Abfrage gruppiert Gesamtwerte in Abschnitte der Größe 10 und gibt die Anzahl für jeden Abschnitt zurück.

Beispiel:

Berücksichtigen Sie die Tabellenfehler mit den folgenden Daten:

total count
30 1
31 2
33 1
34 3
35 2
36 6
37 3
38 2
41 1
42 5
43 1
44 7
45 4
46 3
47 2
49 3
50 2
51 3
52 4
53 2
54 1
55 3
56 4
57 4
58 2
59 2
60 4
61 1
63 2
64 5
65 2
66 3
67 5
68 5

Die folgende Abfrage gruppiert die Werte in Bins der Größe 10:

<code class="sql">SELECT ROUND(total, -1) AS bin, COUNT(*) AS count
FROM faults
GROUP BY bin;</code>

Ausgabe:

bin count
30 23
40 15
50 51
60 45

Das obige ist der detaillierte Inhalt vonWie erstelle ich Histogramme mit vordefinierten Bins in MySQL?. 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