Někdy možná budete chtít vypočítat decil z frekvence nebo počtů v MySQL na základě. Např. seřadit zákazníky podle počtu nákupů nebo objednávek namísto celkového prodeje
Vypočítat decil z frekvence
Zatím pro něj nejsou žádné funkce. Zde je připravený dotaz, jak to udělat.
Např. máte tabulku objednávky který obsahuje všechny objednávky produktů pro každého uživatele. Chcete vypočítat decil z frekvence objednávek.
decily+-----------+----------+---------+------------- --+| user_id | celkem | hodnost | decile |+-----------+----------+---------+--------------- -+| 1 | 3 | 1 | 10 || 4 | 2 | 2 | 7 || 3 | 1 | 3 | 3 |+-----------+----------+---------+-------------- -+
Zde je dotaz, který můžete použít k výpočtu decilu z frekvence nebo počtu v MySQL. Stačí nahradit sloupce – user_id, sales a table – order. Počítá počet objednávek pro každého uživatele. Poté je seřadí podle počtu objednávek. Nakonec vypočítá decil pomocí hodnocení.
vyberte user_id ,total,rank,round(10*(cnt-rank+1)/cnt,0) jako decil od (SELECT user_id,total,@curRank :=@curRank + 1 AS rankFROM (vyberte user_id ,count(prodej ) jako součet z `objednávky ` seskupit podle user_id )p, (SELECT @curRank :=0) rORDER BY total desc ) as dt,(select count(distinct user_id ) jako cnt z`objednávky `) jako ct
Pokud již máte počet objednávek pro každého uživatele v tabulce a chcete přímo použít tabulku k výpočtu decilu z frekvence nebo počtu, zde je dotaz