34,590
社区成员
发帖
与我相关
我的任务
分享
create table test (id int )
insert into test(id) values(5),(7),(7),(8),(8),(5),(7),(8),(2),(3),(4),(2)
go
with m as (
select ROW_NUMBER() over(order by getdate()) rn , * from test
)
select ltrim(min(rn)) + '-' + ltrim(max(rn)) [c] , sum(id) [sum]
from m group by (rn -1) /5
go
-- 下面是展开语句,可以在程序里引用
-- select * from m where rn between 6 and 10
drop table test
go
(12 行受影响)
c sum
------------------------------------------------- -----------
1-5 35
6-10 25
11-12 6
(3 行受影响)