Histogram vám pomůže vykreslit distribuci frekvence z dat a rychle získat statistiky. Zde je návod, jak vytvořit histogram v MySQL. Můžete jej použít k vytvoření distribuce frekvence v MySQL i PostgreSQL.
Jak vytvořit histogram v MySQL?
Zde je dotaz SQL pro vytvoření histogramu v MySQL.
Řekněme, že máte následující tabulku prodej (datum_objednávky, prodej)
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
Bonusové čtení:Jak importovat soubor CSV do MySQL
Vytvoření histogramu v MySQL
Pro vytvoření histogramu v MySQL existuje několik dotazů na histogram MySQL. Podíváme se na každý z nich.
Nejjednodušší způsob, jak vytvořit histogram v MySQL
Pokud mají vaše přihrádky histogramu MySQL stejné intervaly (10-20, 20-30, 30-40 atd.), pak zde je dotaz SQL pro vytvoření rozdělení frekvence v 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 |
+-----------+----------+
Ve výše uvedeném dotazu je velikost koše histogramu 10. Pokud chcete změnit velikost koše na 25, změňte podlaží (prodej/10 )*10 do patro (prodej/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 |
+-----------+----------+
Výhodou výše uvedené metody je, že automaticky mění přihrádky na základě přidání/smazání/změny dat.
Bonusové čtení:Jak vypočítat konverzní poměr v MySQL
Nejflexibilnější způsob vytváření histrogramu v MySQL
Pokud již znáte přihrádky histogramů, které mají být vytvořeny, nebo pokud se velikosti vašeho segmentu histogramu liší, můžete vytvořit rozdělení frekvence pomocí příkazu CASE. Zde je dotaz Histogram pro 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 |
+------------+-------+
V tomto dotazu můžete změnit segmenty histogramu na libovolný rozsah, nemusí mít jednotné intervaly. Tento dotaz funguje skvěle, pokud máte 5–10 kbelíků.
Bonusové čtení:Jak vyplnit chybějící data v MySQL
Po vytvoření distribuce frekvence v MySQL můžete použít nástroj pro vytváření grafů k jejímu vykreslení do sloupcového grafu. Zde je graf vytvořený pomocí Ubiq.

Mimochodem, pokud chcete vytvářet grafy, dashboardy a sestavy z databáze MySQL, můžete zkusit Ubiq. Nabízíme 14denní bezplatnou zkušební verzi.