输入表
<表类>
目标
代理
蓝卡
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
演示