Как правило, когда вы задаете вопрос и упоминаете ошибку, говорите какую ошибку вы получаете. Это поможет нам помочь вам, вам не нужно делать это загадочным романом ...
Вот как вы это делаете:
with cte as (
select [rank], row_number() over (
partition by acc_id, annual_call
order by [annual sales] desc) as [row_number]
from x)
update cte
set [rank] = [row_number];
Конечно, сохранение такого ранга обычно обречено, так как оно станет неправильным после первого обновления, но это другая тема.