Někdy možná budete chtít vypočítat decil z aktuálnosti v MySQL na základě. Např. seřadit zákazníky podle aktuálnosti nákupů nebo objednávek namísto celkového prodeje.
Vypočítat decil z aktuálnosti
To pomáhá vytvářet speciální nabídky pro lidi, kteří nedávno něco koupili na vašem webu. 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 aktuálnosti objednávek.
decily+-----------+----------------+----------+------- --------+| user_id | nejnovější | hodnost | decile |+-----------+----------------+---------+-------- -------+| 1 | 2013-11-20 | 1 | 100 || 4 | 2013-11-11 | 2 | 66,67 || 3 | 2013-10-20 | 3 | 33,33 |+-----------+----------------+---------+--------- -------+
Zde je dotaz, který můžete použít k výpočtu decilu z aktuálnosti v MySQL. Stačí nahradit sloupce – user_id, purchase_date a table – order. Každý uživatel získá nejnovější datum nákupu. Poté je seřadí podle posledního data nákupu. Nakonec vypočítá decil pomocí hodnocení.
vyberte user_id ,latest,rank,round(10*(cnt-rank+1)/cnt,0) jako decil od (SELECT user_id,latest,@curRank :=@curRank + 1 AS rankFROM (vyberte user_id ,max(datum_nákupu ) nejpozději z `objednávky ` seskupit podle user_id )p, (SELECT @curRank :=0) rORDER BY last desc ) as dt,(select count(distinct user_id ) jako cnt z`objednávky `) jako ct
Pokud již máte poslední datum nákupu pro každého uživatele v tabulce a chcete přímo použít tabulku k výpočtu decilu z aktuálnosti nákupu, zde je dotaz