sql >> Databáze >  >> RDS >> Mysql

Vypočítejte decil z frekvence v MySQL

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

  1. SQL dotaz pro porovnání prodeje produktů podle měsíce

  2. Jak nainstalovat a zabezpečit MariaDB 10 v CentOS 6

  3. phpMyAdmin hází #2002 nelze se přihlásit k serveru mysql phpmyadmin

  4. Jak přejmenovat tabulku v aplikaci Access