我有一个大约 35,000行 的销售快照。让我们称之为列:
Sales Rep | Account ID | Total Contract Value | Date
我需要的一切组Sales Rep,然后从那里,选择Sales Rep的 基于关闭前35位账户Total ContractValue,其中Total Contract Value为> = 10,000月(日)$ 2013年1月的。
Sales Rep
Total ContractValue
Total Contract Value
因此,举例来说,假设约翰·多伊(John Doe)从1月开始在此表中有294个帐户,我只想查看他的前35个帐户> = $ 10,000,与简·多伊(Jane Doe)相同,依此类推。等等。尽可能的使用。
有什么想法吗?
为此,您想使用一个称为的函数row_number():
row_number()
select ss.* from (select ss.*, row_number() over (partition by salesrep order by ContractValue desc) as seqnum from snapshot ss where TotalContractValue >= 10000 and date between '2013-01-01' and '2013-01-31' ) ss where seqnum <= 35
您没有指定正在使用的数据库。在没有的数据库中row_number(),有些替代方法的效率较低。