【发布时间】:2020-06-23 22:52:10
【问题描述】:
我有以下临时表客户
Customer Group Price
A Sales 100
B Lease 200
C Lease 300
D Lease 50
E Lease 100
F Sales 750
G Sales 200
H Lease 50
I Sales 130
J Lease 100
K Lease 200
L Sales 500
M Sales 1000
N Sales 10
O Sales 100
我想为每个组找到前 25% 的客户。
对于 eq:Sales 共有 8 个客户,所以前 25% 将是 2 个。因此我需要 Sales 的前 2 个客户,他们具有最高的 Price 。
同样,对于 Lease,我共有 7 个客户,前 25% 将是 1.75,即 ~2。
如果有一个客户,其价格相同,则可以选择排序较高的客户。对于 eq:客户 B 和 K 的 Price 相同,均为 200,因此应选择 B。
这是所需的输出:
Customer Group Price
B Lease 200
C Lease 300
F Sales 750
M Sales 1000
谢谢大家。
【问题讨论】:
-
你做了什么吗???
标签: sql sql-server tsql sql-server-2008 greatest-n-per-group