写一个连续记录大于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*/[其他解释]
在线等 很急啊。。。。
[其他解释]
为啥没有5???没看懂规则。。。
[其他解释]
有5 我打错了
[其他解释]
没看懂题目呀
[其他解释]
SELECT DISTINCT id from tb
[其他解释]
把3楼的<= 后面改成5 即可。