读书人

写一个延续记录大于4的sql语句 跪求

发布时间: 2013-01-06 15:44:48 作者: rapoo

写一个连续记录大于4的sql语句 跪求
如题 比如说一个表 a 里面有个字段id 是int型的
里面的数据有 1 2 3 4 5 8 7 8 9 10
我要找的是 1 2 3 4 和 7 8 9 10 这些记录
该怎么搞 各位大神

[解决办法]

参考

if object_id('[TB]') is not null drop table [TB]
go
create table [TB] (id int)
insert into [TB]
select 1 union all
select 2 union all
select 3 union all
select 4 union all
select 5 union all
select 8 union all
select 7 union all
select 8 union all
select 9 union all
select 10

select * from [TB]

;WITH TT
AS(
SELECT DISTINCT ID,ROW_NUMBER() OVER(ORDER BY GETDATE()) AS NO
FROM (SELECT DISTINCT id FROM tb)a),


T1
as
(
SELECT id,ROW_NUMBER()OVER(PARTITION BY id - no ORDER BY GETDATE())AS Num FROM TT )


SELECT id FROM T1 WHERE num <=4

/*
1
2
3
4
7
8
9
10*/

读书人网 >SQL Server

热点推荐