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