我有一个苹果采摘完成的参与者的下表。我有一张桌子,所有参与者都可以看到他们选出的苹果数量。
现在我想要一张只显示前三名的表,其余的将被分组在“其他”下,并且摘下的苹果总数应该与其他
我已经创建了表格,其中将包含所有ID和收集的苹果总数
declare @t table
(
id int,
Apples_picked int
)
insert into @t
select 1,10
union
select 2,12
union
select 3,3
union
select 4,15
union
select 5,23
Run Code Online (Sandbox Code Playgroud)
上表的必需输出
ID Name Apples picked
5 winner 23
4 2nd 15
2 3rd 12
Others 13
Run Code Online (Sandbox Code Playgroud)
我不确定如何在第三之后添加所有内容并总结任何指导意见
我会用两个#Temp 表来做到这一点。选择前3名进入第一;将 ID 不在第一行中的所有行的总和选择到第二行中;返回两个#Temp 表的并集。
您可以使用 CTE 而不是 #Temp 表 - 逻辑是相同的。