gpt4 book ai didi

sql-server-2008 - 如何通过使用group by命令从检索到的结果中获取每个组的第一条记录

转载 作者:行者123 更新时间:2023-12-03 13:19:05 25 4
gpt4 key购买 nike

假设我的输入是:

ID  GroupID  Qty
1 1 100
2 1 200
3 1 300
4 2 98
5 2 198
6 3 175
7 3 275
8 3 375
9 4 215


输出应为

ID   GroupID    Qty
1 1 100
4 2 98
6 3 175
9 4 215


谁能帮我如何使用SQL Server T-SQL查询做到这一点?

最佳答案

declare @T table (ID int, GroupID int, Qty int)
insert into @T values
(1, 1, 100),
(2, 1, 200),
(3, 1, 300),
(4, 2, 98),
(5, 2, 198),
(6, 3, 175),
(7, 3, 275),
(8, 3, 375),
(9, 4, 215)

;with cte as
(
select
ID,
GroupID,
Qty,
rank() over(partition by GroupID order by ID) as rn
from @T
)
select ID, GroupID, Qty
from cte
where rn = 1

关于sql-server-2008 - 如何通过使用group by命令从检索到的结果中获取每个组的第一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5225113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com