加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server-2008 – 如何从使用group by命令检索的结果中获取每

发布时间:2020-12-12 08:49:33 所属栏目:MsSql教程 来源:网络整理
导读:假设我的输入是: ID GroupID Qty1 1 1002 1 2003 1 3004 2 985 2 1986 3 1757 3 2758 3 3759 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
假设我的输入是:
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,200),(3,300),(4,2,98),(5,198),(6,3,175),(7,275),(8,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,Qty
from cte
where rn = 1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读