我如何能够在一个分册中为几个团体取得N级成果。
例如见以下表格:
ID Team Auditor
1 Tm1 Jill
2 Tm2 Jill
3 Tm1 Jill
4 Tm2 Jack
5 Tm2 Jack
6 Tm2 Jack
7 Tm3 Sam
8 Tm1 Sam
9 Tm5 Sam
有更多的审计员和小组。 我愿尽可能为每个审计员配备3个小组。
我已经利用了以下结构(以回应这一询问:)。 每个小组(以Oracle)取得最高结果,将3个小组交还给每个审计员,但有时他们获得3个小组,这实际上并不理想(见Jack)。
select *
from (select ID,
Team,
Auditor,
rank() over ( partition by Auditor order by ID) rank
from table)
where rank <= 3;