rmf 画像描述

SELECT * FROM `订单`;
# 日期处理
-- ALTER TABLE   订单 DROP 订单日期r
-- CREATE TABLE A
-- SELECT * FROM 订单  
-- UPDATE A set 订单日期r= 订单日期+(SELECT CURDATE()-订单日期 FROM 订单 
-- WHERE id=10000)  
-- 
-- 
-- SELECT *,订单日期+(SELECT CURDATE()-订单日期 FROM 订单 
-- WHERE id=10000)   FROM  订单 

-- SELECT DATEDIFF(NOW(),`订单日期`) as r ,null as f ,null as m  FROM 订单 
-- 
-- 
-- SELECT CURDATE()-'2014/10/9'
-- 
-- SELECT '2014/10/9'+20189204
-- SELECT 20189204/365/24
-- 
-- SELECT DATEDIFF(CURDATE(),'2014/10/9')*24*60
-- 
CREATE  TABLE  rfm as  SELECT * FROM 


(SELECT `客户名称`,min(DATEDIFF(CURDATE(),订单日期)) as r,COUNT(客户名称) f ,sum(`销售额`) m 
FROM 订单 GROUP BY `客户名称`) as p;

SELECT * FROM rfm;


CREATE TABLE  画像表  as SELECT * FROM 

(SELECT 客户名称,CONCAT(
if(r>(SELECT AVG(r) FROM rfm),'远','近'),
if(f>(SELECT AVG(f) FROM rfm),'高','低'),
if(m>(SELECT AVG(m) FROM rfm),'高','低') ) as 画像  
FROM rfm GROUP BY 画像,客户名称) as p;

SELECT *,
CASE WHEN 画像='近高高' THEN '高级用户'
 WHEN 画像='近高低' THEN '中级用户'
 WHEN 画像='近低高' THEN '爆发用户'
 WHEN 画像='近低低' THEN '初级用户'
 WHEN 画像='远高高' THEN '沉睡用户'
 WHEN 画像='远高低' THEN '丢失用户'
 WHEN 画像='远低高' THEN '丢失用户'
 WHEN 画像='远低低' THEN '丢失用户' 
 end  画像名称  FROM 画像表
发布了70 篇原创文章 · 获赞 14 · 访问量 2613

猜你喜欢

转载自blog.csdn.net/Captain_DUDU/article/details/103604037