当前位置: 代码迷 >> Sql Server >> 写一个延续记录大于4的sql语句 跪求
  详细解决方案

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

热度:29   发布时间:2016-04-25 00:14:01.0
写一个连续记录大于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*/
  相关解决方案