Понякога може да искате да изчислите децил от актуалност в MySQL въз основа на. Например, за класиране на клиентите въз основа на скорошни покупки или поръчки вместо въз основа на общите продажби.
Изчислете децил от актуалност
Това помага за създаване на специални оферти за хора, които наскоро са купили нещо на вашия уебсайт. Все още няма функции за него. Ето готова заявка, за да го направите.
Напр. имате таблина поръчка който съдържа всички поръчки на продукти за всеки потребител. Искате да изчислите децил от скорошността на поръчките.
<предварителна>поръчка+-----------+-----------+-----------------+| потребителски_идентификатор | продукт | дата_на_купуване |+-----------+------------+------------------+| 1 | Сапун | 2013-11-20 || 4 | Парфюм | 2013-07-02 || 1 | Юфка | 2013-10-20 || 4 | Сапун | 2013-11-11 || 1 | Лепило | 2013-09-12 || 3 | Део | 2013-10-20 |+-----------+-----------+------------------ +децили+-----------+----------------+--------+------- --------+| потребителски_идентификатор | най-новите | ранг | децил |+-----------+----------------+--------+-------- -------+| 1 | 2013-11-20 | 1 | 100 || 4 | 2013-11-11 | 2 | 66,67 || 3 | 2013-10-20 | 3 | 33,33 |+-----------+----------------+--------+-------- -------+
Ето заявка, която можете да използвате, за да изчислите децил от актуалност в MySQL. Просто заменете колоните – user_id, buy_date и table – order. Той получава най-новата дата на покупка за всеки потребител. След това ги класира по последна дата на покупка. И накрая, той изчислява децил, използвайки ранг.
изберете user_id ,latest,rank,round(10*(cnt-rank+1)/cnt,0) като децил от (SELECT user_id,latest,@curRank :=@curRank + 1 AS rankFROM (изберете user_id ,max(дата_на_покупка ) най-късно от `поръчка ` група по user_id )p, (ИЗБЕРЕТЕ @curRank :=0) rORDER BY най-ново описание ) като dt,(изберете брой(отличен user_id) ) като cnt от`поръчка `) като ct
Ако вече имате последна дата на покупка за всеки потребител в таблицата и искате директно да използвате таблицата за изчисляване на децил от скорошна покупка, ето заявка