楼主 amulee |
Q:如何查询每日或当日业绩第一名及平均业绩第一名的员工? A:如图,如何根据业务汇总表利用SQL查询每日业绩第一名及平均业绩第一名的员工?
- Select A.交单日期,'当日交单之星' as 星星奖项,'TSR当日交单金额总和第一名' As 说明,A.单量,A.业绩,A.TSR姓名 From
- (Select 交单日期,TSR工号,TSR姓名,Count(金额) As 单量,SUM(金额) As 业绩 From [出单汇总$B3:J65536] Group By 交单日期,TSR工号,TSR姓名) A
- Where 1>
- (Select Count(*) From
- (Select 交单日期,TSR工号,TSR姓名,Count(金额) As 单量,SUM(金额) As 业绩 From [出单汇总$B3:J65536] Group By 交单日期,TSR工号,TSR姓名) B
- Where A.交单日期=B.交单日期 And A.业绩<B.业绩)
- Union All
- Select C.交单日期,'当日交单件均之星' as 星星奖项,'TSR当日交单件均金额第一名' As 说明,C.单量,C.业绩,C.TSR姓名 From
- (Select 交单日期,TSR工号,TSR姓名,Count(金额) As 单量,Avg(金额) As 业绩 From [出单汇总$B3:J65536] Group By 交单日期,TSR工号,TSR姓名) C
- Where 1>
- (Select Count(*) From
- (Select 交单日期,TSR工号,TSR姓名,Count(金额) As 单量,Avg(金额) As 业绩 From [出单汇总$B3:J65536] Group By 交单日期,TSR工号,TSR姓名) D
- Where C.交单日期=D.交单日期 And C.业绩<D.业绩)
查询每日业绩第一名及平均业绩第一名的员工.rar
若仅需要得到某一天的业绩第一名及平均业绩第一名(本例中为2011年6月13日),如图:
则可采用以下SQL语句:- select 星星奖项,说明,业绩,数量,tsr姓名 from
- (
- select top 1 *,'当日交单之星' as 星星奖项,'TSR当日交单金额总和第一名' as 说明 from
- (select tsr姓名,sum(金额) as 业绩,sum(1) as 数量 from [出单汇总$B3:J7] where 交单日期 = #2011-6-13# group by tsr姓名 order by 2 desc)
- union all
- select top 1 *,'当日交单件均之星','TSR当日交单件均金额第一名' from
- (select tsr姓名,avg(金额),sum(1) from [出单汇总$B3:J7] where 交单日期 = #2011-6-13# group by tsr姓名 order by 2 desc)
- )
查询当日业绩第一名及平均业绩第一名的员工.rar |