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