使用Access SQL执行分组排名

Pow*_*ser 9 sql ms-access

如何按部门分组的#客户(包括关系)对销售人员进行排名?

例如,给定此表,我想在右侧创建Rank列.我应该如何在Access中执行此操作?

SalesPerson Dept #Customers排名
Bill DeptA 20 1
Ted DeptA 30 2
Jane DeptA 40 3
Bill DeptB 50 1
Mary DeptB 60 2

我已经知道如何使用这个SQL代码进行简单的排名.但我不知道如何重做这个来接受分组.

Select Count(*) from [Tbl] Where [#Customers] <  [Tblx]![#Customers] )+1
Run Code Online (Sandbox Code Playgroud)

此外,使用SQL Server的Rank()函数有很多答案,但我需要在Access中执行此操作.建议好吗?

Pau*_*ott 14

SELECT *, (select count(*) from tbl as tbl2 where
tbl.customers > tbl2.customers and tbl.dept = tbl2.dept) + 1 as rank from tbl
Run Code Online (Sandbox Code Playgroud)

只需将dept字段添加到子查询中......