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.