SQL 帮助:按子句分区 (SSMS)

SQL Help: Partition By Clause (SSMS)

我在使用 Partition By Clauses 方面没有太多经验,尽管我在所有常见的地方都进行了挖掘,但我还是无法为以下数据提出一个有效的查询。

请参阅附件 link,但足以说明我正在为每个 [Rep] 寻找“前 3 名”[公司](最高 [应付金额])。数据已精简,如有任何问题或建议,请告诉我!

你会使用 row_number():

select t.*
from (select t.*,
             row_number() over (partition by rep order by amount_due desc) as seqnum
      from t
     ) t
where seqnum <= 3;