我有一张 table
ID, name, pay1, pay2
1 a, 3, 2
2 b, 12, 4
3 b, 4, 8
4 c, 8, 7
5 c, 5, 2
6 a, 7, 1
我想选择每个姓名中 pay1 + pay2 最小的行。所以,我想得到 p>
ID, name, pay1, pay2
1 a, 3, 2
3 b, 4, 8
5 c, 5, 2
知道如何在 SQL Server 中执行此操作吗?谢谢
最佳答案
使用排名函数:
with minpay as
(
select *
, payrank = row_number() over (partition by name order by pay1 + pay2, ID)
from pay
)
select ID
, name
, pay1
, pay2
from minpay
where payrank = 1
order by name
关于sql - 选择组中的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15444429/