博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL计算销售员昨日各指标综合得分_20161206
阅读量:5165 次
发布时间:2019-06-13

本文共 2138 字,大约阅读时间需要 7 分钟。

数据需求如上,新增重激活以15天未下单为界定 

SELECT d.销售员,(日销售额得分*0.6+日新增客户数得分*0.15+日客单价得分*0.1+日客户平均产品数得分*0.15)AS 综合得分,日销售额,日客单价,日新增客户数 AS 日新增客户数,日客户平均产品数FROM (#添加得分指标	SELECT c.*	,CASE WHEN 日销售额>=10000 THEN 100 WHEN 日销售额>=4000 AND 日销售额<10000 THEN 60+40/6000*(日销售额-4000) WHEN 日销售额<4000 THEN 0+60/4000* (4000-日销售额) ELSE NULL END AS 日销售额得分	,CASE WHEN 日客单价>=600  THEN 100 WHEN 日客单价>=450 AND 日客单价<600 THEN 60+40/150*(日客单价-450) WHEN 日客单价>=360 AND 日客单价<450 THEN 0+60/90*(450-日客单价) ELSE 0 END AS 日客单价得分	,CASE WHEN 日客户平均产品数>=6 THEN 100 WHEN 日客户平均产品数>=3 AND 日客户平均产品数<6 THEN 60+40/3*(日客户平均产品数-3) WHEN 日客户平均产品数>=1 AND 日客户平均产品数<3 THEN 0+60/2*(3-日客户平均产品数) ELSE 0 END AS 日客户平均产品数得分	,CASE WHEN 日新增客户数>=8 THEN 100 WHEN 日新增客户数>=2 AND 日新增客户数<8 THEN 60+40/6*(日新增客户数-2) WHEN 日新增客户数<2 THEN 0+60/2*(2-日新增客户数) ELSE 0 END AS 日新增客户数得分	FROM (#明细销售员日销售额 新增激活客户数 客单价 日客户平均产品数		SELECT a.*,IFNULL(b.日新增客户数,0) AS 日新增客户数		FROM (			SELECT 销售员,SUM(金额) AS 日销售额,SUM(金额)/COUNT(用户ID) AS 日客单价,AVG(产品数) AS 日客户平均产品数			FROM (				SELECT 销售员,用户ID,COUNT(产品ID) AS 产品数,SUM(金额) AS 金额				FROM (					SELECT 销售员,用户ID,产品ID,SUM(金额) AS 金额					FROM `a003_order`					WHERE 城市='郑州' AND DATE(订单日期)=DATE_ADD(CURRENT_DATE,INTERVAL -1 DAY) AND 金额>0					GROUP BY 销售员,用户ID,产品ID				) AS a1				GROUP BY 销售员,用户ID			) AS a2			GROUP BY 销售员			ORDER BY SUM(金额) DESC		) AS a		LEFT JOIN (			SELECT 销售员,COUNT(用户ID)  AS 日新增客户数			FROM (				SELECT b1.用户ID,b1.用户名称,昨日以前15天之前金额,昨日以前15天金额,昨日金额,b2.销售员,CASE WHEN 昨日以前15天之前金额 IS NULL  AND 昨日以前15天金额 IS NULL  THEN "新增" WHEN 昨日以前15天之前金额 IS NOT NULL  AND 昨日以前15天金额 IS NULL THEN "重激活" WHEN 昨日以前15天金额 IS NOT NULL THEN "留存" ELSE NULL END 留存情况				FROM (					SELECT 用户ID,用户名称,SUM(IF(DATE(订单日期)=DATE_ADD(CURRENT_DATE,INTERVAL -1 DAY),金额,NULL)) AS 昨日金额,					SUM(IF(DATE(订单日期)>=DATE_ADD(CURRENT_DATE,INTERVAL -16 DAY) AND DATE(订单日期)
0 AND 用户ID IN (SELECT 用户ID FROM a003_order AS a WHERE 城市="郑州" AND DATE(订单日期)=DATE_ADD(CURRENT_DATE,INTERVAL -1 DAY) AND 金额>0 GROUP BY 用户ID) GROUP BY 用户ID ) AS b1 LEFT JOIN a003b_order_item AS b2 ON b1.用户ID=b2.用户ID )AS b3 WHERE 留存情况<>'留存' GROUP BY 销售员 ) AS b ON a.销售员=b.销售员 ) AS c) AS d

  

转载于:https://www.cnblogs.com/Mr-Cxy/p/6139239.html

你可能感兴趣的文章
wed开发基础--练习题
查看>>
【springBoot】之配置文件application
查看>>
那些年我们一起犯过的错
查看>>
js 正则表达式 验证小数点后几位
查看>>
箭头与点的区别
查看>>
[华为]统计大写字母个数
查看>>
CentOS安装rar及用法
查看>>
浅谈UitextField值变化的实时监视
查看>>
PHP原生文件上传(单文件多文件均可)简单案例
查看>>
智能手机音频信息取证
查看>>
倒计时计算
查看>>
listView加载在Dialog里面
查看>>
夺命雷公狗---memcache NO:05 分布式的内存对象缓存系统的配置
查看>>
WP开发图片保存到独立存储并从独立存储中读取
查看>>
TYVJ-P1864 守卫者的挑战 题解
查看>>
【福利】论机房如何关闭方正软件保护卡
查看>>
Android自定义控件:动画类(六)----ValueAnimator高级进阶(一)
查看>>
五一放假作业4.30 用正则表达式写一个计算器!去掉括号,计算式子结果!
查看>>
51Nod1353 树
查看>>
Jzoj5455【NOIP2017提高A组冲刺11.6】拆网线
查看>>