需要按如下方式查询获取数据



输入表

<表类> 目标 代理 蓝卡 tbody><<tr>15000空15000空14500空

您可以使用rank()来获得排名,使用rank/count来获得百分位数

with cte as (
select Target, Agent, rank() over (partition by Agent order by Target desc) as Ranka
from TableA
)
select Target, Agent, cast(Ranka as float)/CAST(count(*) over (partition by Agent) AS FLOAT)*100 as Percentile
from cte

如果你不需要百分位数,也可以这样写:

select Target, Agent, rank() over (partition by Agent order by Target desc) as Ranka
from TableA

演示

最新更新