MySQL-Lösung zum Erstellen eines horizontalen Histogramms

MySQL-Lösung zum Erstellen eines horizontalen Histogramms

Vorwort

Histogramme sind grundlegende statistische Informationen, die von RDBMS bereitgestellt werden. Am häufigsten werden sie verwendet, um die Selektivität von Abfrageprädikaten abzuschätzen und so einen optimierten Abfrageausführungsplan auszuwählen. Zu den gängigen Histogrammtypen gehören: Histogramm gleicher Breite, Histogramm gleicher Höhe, V-optimiertes Histogramm, MaxDiff-Histogramm usw.

Hinweis: Die Testdatenbankversion ist MySQL 8.0

Wenn Sie Tabellen erstellen und Daten unter dem Benutzer „Scott“ eingeben müssen, finden Sie weitere Informationen unter:

Scott erstellt Tabellen und gibt Daten ein SQL-Skript

1. Nachfrage

Verwenden Sie SQL, um ein horizontal ausgedehntes Histogramm zu generieren.

Beispielsweise wird ein horizontales Histogramm verwendet, um die Anzahl der Freiwilligen in jeder Abteilung anzuzeigen, wobei ein Sternchen „*“ einen Mitarbeiter darstellt.

Der zurückgegebene Ergebnissatz sollte wie folgt aussehen:

±---------±-------+
| Abteilungsnummer | Anzahl |
±---------±-------+
| 10 | *** |
| 20 | ***** |
| 30 | ****** |
±---------±-------+

2. Lösung

Verwenden Sie „group by“, um zu gruppieren, die Gesamtzahl zu ermitteln und sie dann mit „lpad“ zu füllen.

wählen Sie die Abteilungsnummer,
 lpad('*',Anzahl(*),'*') als cnt
 von emp
 nach Abteilungsnummer gruppieren;

Testprotokoll:

mysql> wähle Abteilungsnummer aus,
 -> lpad('*',Anzahl(*),'*') als cnt
 -> von emp
 -> nach Abteilungsnummer gruppieren;
+--------+--------+
| Abteilungsnummer | Anzahl |
+--------+--------+
| 10 | *** |
| 20 | ***** |
| 30 | ****** |
+--------+--------+
3 Zeilen im Satz (0,00 Sek.)

Zusammenfassen

Dies ist das Ende dieses Artikels zum Erstellen eines horizontalen Histogramms in MySQL. Weitere relevante Inhalte zum Erstellen eines horizontalen Histogramms in MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Detaillierte Erläuterung der drei Möglichkeiten zum Importieren von CSS-Dateien

>>:  Konvertieren von XHTML-CSS-Seiten in Druckerseiten

Artikel empfehlen

JavaScript-Kreisdiagrammbeispiel

ZeicheneffekteImplementierungscode JavaScript var...

So reduzieren Sie die Speicher- und CPU-Auslastung von Webseiten

<br />Einige Webseiten sehen nicht groß aus,...

Detaillierte Erklärung der drei Möglichkeiten zum Festlegen von Rahmen in HTML

Drei Möglichkeiten zum Festlegen von Rahmen in HT...

vue.js lädt Bilder entsprechend der Bild-URL herunter

Als ich kürzlich an einem Frontend-Docking-Funkti...

Analyse der MySql CURRENT_TIMESTAMP-Funktion anhand eines Beispiels

Beim Erstellen eines Zeitfelds STANDARD CURRENT_T...

Eine kurze Diskussion über die Rolle von Vue3 defineComponent

Inhaltsverzeichnis defineComponent-Überladungsfun...

Floaten und Floaten löschen in der Übersichtsseite

1. Float: Der Hauptzweck besteht darin, den Effek...

So installieren Sie eine virtuelle Maschine mit Windows-Diensten auf dem Mac

1. Laden Sie die virtuelle Maschine herunter Offi...

Einführung in Kubernetes (k8s)

Ich wollte schon immer Kubernetes lernen, weil es...

impress.js Präsentationsschicht-Framework (Demonstrationstool) - erste Erfahrungen

Ich habe ein halbes Jahr lang nicht gebloggt, wofü...

Häufige Szenarien und Vermeidungsmethoden für Indexfehler in MySQL

Vorwort Ich habe zuvor viele ähnliche Artikel gel...