L'histogramme vous aide à tracer la distribution de fréquence à partir des données et à tirer rapidement des informations. Voici comment créer un histogramme dans MySQL. Vous pouvez l'utiliser pour créer une distribution de fréquence dans MySQL ainsi que PostgreSQL.
Comment créer un histogramme dans MySQL ?
Voici la requête SQL pour créer un histogramme dans MySQL.
Disons que vous avez le tableau suivant sales(order_date, sale)
mysql> create table sales(order_date date,sale int); mysql> insert into sales values('2020-04-01',210), ('2020-04-02',125),('2020-04-03',150),('2020-04-04',230), ('2020-04-05',200),('2020-04-10',220),('2020-04-06',250), ('2020-04-07',215),('2020-04-08',300),('2020-04-09',250); mysql> select * from sales; order_date | sale ------------+------ 2020-04-01 | 210 2020-04-02 | 125 2020-04-03 | 150 2020-04-04 | 230 2020-04-05 | 200 2020-04-10 | 220 2020-04-06 | 250 2020-04-07 | 215 2020-04-08 | 300 2020-04-09 | 250
Lecture bonus :Comment importer un fichier CSV dans MySQL
Créer un histogramme dans MySQL
Il existe plusieurs requêtes MySQL Histogram pour créer un histogramme dans MySQL. Nous allons examiner chacun d'eux.
Le moyen le plus simple de créer un histogramme dans MySQL
Si vos bacs d'histogramme MySQL ont des intervalles égaux (10-20, 20-30, 30-40, etc.), voici la requête SQL pour créer une distribution de fréquence dans MySQL.
mysql> select floor(sale/10)*10 as bin_floor, count(*) from sales group by 1 order by 1; +-----------+----------+ | bin_floor | count(*) | +-----------+----------+ | 120 | 1 | | 150 | 1 | | 200 | 1 | | 210 | 2 | | 220 | 1 | | 230 | 1 | | 250 | 2 | | 300 | 1 | +-----------+----------+
Dans la requête ci-dessus, la taille de la classe de l'histogramme est 10. Si vous souhaitez modifier la taille de la classe à 25, modifiez floor(sale/10 )*10 au plancher(vente/25 )*25
mysql> select floor(sale/25)*25 as bin_floor, count(*) from sales group by 1 order by 1; +-----------+----------+ | bin_floor | count(*) | +-----------+----------+ | 125 | 1 | | 150 | 1 | | 200 | 4 | | 225 | 1 | | 250 | 2 | | 300 | 1 | +-----------+----------+
L'avantage de la méthode ci-dessus est qu'elle change automatiquement les bacs en fonction de l'ajout/de la suppression/de la modification des données.
Lecture bonus :Comment calculer le taux de conversion dans MySQL
Le moyen le plus flexible de créer un histogramme dans MySQL
Si vous connaissez déjà les intervalles d'histogramme à créer ou si les tailles de vos compartiments d'histogramme sont différentes, vous pouvez créer une distribution de fréquence à l'aide de l'instruction CASE. Voici la requête d'histogramme pour MySQL
mysql> select "100-150" as TotalRange,count(sale) as Count from sales where sale between 100 and 150 union ( select "150-200" as TotalRange,count(sale) as Count from sales where sale between 150 and 200) union ( select "200-225" as TotalRange,count(sale) as Count from sales where sale between 200 and 225) union ( select "225-250" as TotalRange,count(sale) as Count from sales where sale between 225 and 250); +------------+-------+ | TotalRange | Count | +------------+-------+ | 100-150 | 2 | | 150-200 | 2 | | 200-225 | 4 | | 225-250 | 3 | +------------+-------+
Dans cette requête, vous pouvez modifier les compartiments de l'histogramme dans n'importe quelle plage de votre choix, ils n'ont pas besoin d'avoir des intervalles uniformes. Cette requête fonctionne très bien si vous avez 5 à 10 compartiments.
Lecture bonus :Comment remplir les dates manquantes dans MySQL
Après avoir créé la distribution de fréquence dans MySQL, vous pouvez utiliser un outil graphique pour la tracer dans un histogramme. Voici un graphique créé avec Ubiq.
Au fait, si vous souhaitez créer des graphiques, des tableaux de bord et des rapports à partir de la base de données MySQL, vous pouvez essayer Ubiq. Nous offrons un essai gratuit de 14 jours.