Erstellen von Histogrammen mit benutzerdefinierten Bin-Größen in MySQL
In MySQL umfasst das Extrahieren von Daten für Histogrammdiagramme häufig das Gruppieren von Daten basierend auf vordefinierten Bin-Größen. Während eine grundlegende Gruppierung mithilfe der GROUP BY-Klausel erreicht werden kann, stellt die Angabe benutzerdefinierter Bin-Größen eine Herausforderung dar. Eine einfache Problemumgehung kann Ihnen jedoch dabei helfen, dieses Ziel zu erreichen.
Betrachten Sie die folgende SQL-Abfrage:
<code class="sql">select total, count(total) from faults GROUP BY total;</code>
Diese Abfrage erzeugt detaillierte Daten, aber zahlreiche Zeilen zu haben, kann überwältigend sein. Um die Daten direkt in SQL in vordefinierte Bins zu gruppieren, können Sie einen einfachen Ansatz nutzen:
<code class="sql">SELECT ROUND(numeric_value, -2) AS bucket, COUNT(*) AS count, RPAD('', LN(COUNT(*)), '*') AS bar FROM my_table GROUP BY bucket;</code>
Durch Anpassen des Rundungsinkrements innerhalb der ROUND-Funktion können Sie die Bin-Größe anpassen. ROUND(numeric_value, -1) erstellt beispielsweise Bins der Größe 10. Durch Ändern des Rundungsinkrements und des anfänglichen Offsets können Sie die Bin-Größen an Ihre spezifischen Anforderungen anpassen.
Der Trick hier ist die Verwendung von ROUND Funktion mit einem geeigneten Offset, um sicherzustellen, dass jede Bin ungefähr die gleiche Anzahl von Elementen enthält. Alternativ kann TRUNCATE anstelle von ROUND verwendet werden.
Diese Lösung bietet eine bequeme und flexible Möglichkeit, Histogramme mit benutzerdefinierten Bin-Größen in MySQL zu erstellen. Für fortgeschrittenere Techniken zur Histogrammerstellung sollten Sie CASE-Anweisungen oder andere komplexe Logik für mehr Flexibilität in Betracht ziehen.
Das obige ist der detaillierte Inhalt vonWie kann ich Histogramme mit benutzerdefinierten Bin-Größen in MySQL erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!