Хистограмата ви помага да начертаете разпределението на честотата от данни и бързо да извлечете прозрения. Ето как да създадете хистограма в MySQL. Можете да го използвате за създаване на честотно разпределение в MySQL, както и в PostgreSQL.
Как да създадем хистограма в MySQL?
Ето SQL заявката за създаване на хистограма в MySQL.
Да приемем, че имате следната таблица 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
Бонус четене:Как да импортирам CSV файл в MySQL
Създайте хистограма в MySQL
Има множество MySQL Histrogram заявки за създаване на хистограма в MySQL. Ще разгледаме всеки един от тях.
Най-простият начин за създаване на хистограма в MySQL
Ако вашите MySQL хистограмни кошчета имат равни интервали (10-20, 20-30, 30-40 и т.н.), тогава ето SQL заявката за създаване на честотно разпределение в 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 |
+-----------+----------+
В горната заявка размерът на кошчето на хистограмата е 10. Ако искате да промените размера на кошчето на 25, променете floor(sale/10 )*10 до етаж (разпродажба/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 |
+-----------+----------+
Предимството на горния метод е, че той автоматично променя кошчетата въз основа на добавяне/изтриване/модификация на данни.
Бонус четене:Как да изчислим процента на конверсия в MySQL
Най-гъвкав начин за създаване на хистрограма в MySQL
Ако вече знаете кошчетата на хистограмата, които трябва да бъдат създадени, или ако размерите на кофата на хистограмата ви са различни, тогава можете да създадете разпределение на честотата, като използвате израза CASE. Ето заявката за хистограма за 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 |
+------------+-------+
В тази заявка можете да промените кофите на хистограмата към всеки диапазон, който искате, не е необходимо те да имат еднакви интервали. Тази заявка работи чудесно, ако имате 5-10 кофи.
Бонус за четене:Как да попълним липсващите дати в MySQL
След като създадете честотно разпределение в MySQL, можете да използвате инструмент за диаграми, за да го начертаете в колонна диаграма. Ето графика, създадена с Ubiq.

Между другото, ако искате да създавате диаграми, табла за управление и отчети от MySQL база данни, можете да опитате Ubiq. Предлагаме 14-дневен безплатен пробен период.