Du kan beregne decil i MySQL for at identificere de bedste kunder. Grundlæggende rangerer og grupperer du kunder i 10 grupper baseret på det samlede salg. På baggrund af resultatet kan du komme med mere fokuserede, relevante fastholdelsestiltag. Her er en klar forespørgsel til at gøre det.
Beregn decil i MySQL
F.eks. har du et bord ordrer som indeholder alle produktordrer for hver bruger. Du ønsker at beregne decil i MySQL.
deciler+------------+--------+--------+-------------- --+| bruger_id | i alt | rang | decil |+------------+-----------+--------+------------------- -+| 1 | 30 | 3 | 3 || 4 | 100 | 2 | 7 || 3 | 200 | 1 | 10 |+-----------+-------------------- -+
Her er en forespørgsel, du kan bruge til at beregne decil i MySQL baseret på totaler. Udskift blot kolonnerne – bruger_id, salg og tabel – rækkefølge. Den samler det samlede salg for hver bruger. Så rangerer den dem på det samlede salg. Til sidst beregner den decil ved hjælp af rang.
vælg user_id ,total,rank,round(10*(cnt-rank+1)/cnt,0) som decil fra (SELECT user_id,total,@curRank :=@curRank + 1 AS rankFROM (vælg user_id ,sum(salg ) i alt fra `ordre ` gruppe af user_id )p, (SELECT @curRank :=0) rORDER BY total desc ) som dt,(vælg count(distinct user_id ) som cnt fra `ordre `) som ct
Hvis du allerede har samlet salg for hver bruger i tabellen og ønsker at bruge tabellen direkte til at beregne decil, er her en forespørgsel