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

Vypočítejte decil v MySQL na základě součtů

Můžete vypočítat decil v MySQL a identifikovat nejlepší zákazníky. V zásadě řadíte a seskupujete zákazníky do 10 skupin na základě celkového prodeje. Na základě výsledku můžete přijít s cílenějšími a relevantnějšími iniciativami pro udržení. Zde je připravený dotaz, jak to udělat.

Vypočítat Decile v MySQL

Např. máte tabulku objednávky který obsahuje všechny objednávky produktů pro každého uživatele. Chcete vypočítat decil v MySQL.

decily+-----------+----------+---------+------------- --+| user_id | celkem | hodnost | decile |+-----------+----------+---------+--------------- -+| 1 | 30 | 3 | 3 || 4 | 100 | 2 | 7 || 3 | 200 | 1 | 10 |+-----------+----------+---------+--------------- -+

Zde je dotaz, který můžete použít k výpočtu decilu v MySQL na základě součtů. Stačí nahradit sloupce – user_id, sales a table – order. Agreguje celkové prodeje pro každého uživatele. Poté je seřadí podle celkových prodejů. 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  ,součet(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 celkové prodeje pro každého uživatele v tabulce a chcete přímo použít tabulku k výpočtu decilu, zde je dotaz

  1. Ukládání dat v MySQL jako JSON

  2. Zobrazení historie úloh SQL Server Agent pomocí Azure Data Studio

  3. Jak objednávat podle názvu měsíce v MySQL

  4. dplyr left_join o méně než, větší než podmínka