首页 > 代码库 > MySQL_截止昨日南京市所有在职业务员业绩排名-20170116

MySQL_截止昨日南京市所有在职业务员业绩排名-20170116

#计算南京销售员总业绩排名 数据结果已打乱处理 

#职工信息表包含在职和离职两种状态 因此不能以这表当做主表 不然离职人的数据也会出现 以毛利表为主表 销售员限制在昨天在职的销售范围内 且和后面left join的表销售人员保持一致 取出相应其他字段

#@i:=@i+1增长变量

SELECT c.*,(@i:=@i+1) AS 排名
FROM (
	SELECT a.城市,b.在职取数时间,a.销售员,b.部门,b.岗位,b.入职日期,DATEDIFF(CURRENT_DATE,b.入职日期) AS 在职天数,a.销售确认额,a.毛利额,a.毛利率
	FROM (
		SELECT 城市,销售员,SUM(销售额) AS 销售确认额,SUM(毛利额) AS 毛利额,SUM(毛利额)/SUM(销售额) AS 毛利率
		FROM `a005_account`
		WHERE 城市=‘南京‘ AND 销售员 IN (SELECT 姓名 FROM a032_admin_user WHERE 城市=‘南京‘ AND 在职取数时间>CURRENT_DATE AND 状态=‘在职‘)
		GROUP BY 销售员 
		ORDER BY SUM(毛利额) DESC
	) AS a
	LEFT JOIN (
		SELECT 姓名,部门,岗位,入职日期,状态,在职取数时间
		FROM a032_admin_user
		WHERE 城市=‘南京‘ AND 在职取数时间>CURRENT_DATE AND 状态=‘在职‘
	) AS b ON a.销售员=b.姓名
	ORDER BY a.毛利额 DESC
) AS c,(SELECT @i:=0) AS it

  技术分享

 

MySQL_截止昨日南京市所有在职业务员业绩排名-20170116