我用相关子查询模拟的游标~ 生成以下结果后,单连续出先了几次,然后隔了几次的双,再出现单就好求多了,无非就是对单进行汇总即可,将以下查询做派生表做就可以了~ DECLARE @T TABLE(ID INT,DAN VARCHAR(20)) INSERT @T SELECT 1,'双' UNION ALL SELECT 2,'单' UNION ALL SELECT 3,'单' UNION ALL SELECT 4,'双' UNION ALL SELECT 5,'双' UNION ALL SELECT 6,'单'SELECT DAN, COUNT1=(SELECT COUNT(1)+1 FROM @T B WHERE DAN=A.DAN AND ID=A.ID-1) FROM @T A
生成以下结果后,单连续出先了几次,然后隔了几次的双,再出现单就好求多了,无非就是对单进行汇总即可,将以下查询做派生表做就可以了~
DECLARE @T TABLE(ID INT,DAN VARCHAR(20))
INSERT @T SELECT 1,'双'
UNION ALL SELECT 2,'单'
UNION ALL SELECT 3,'单'
UNION ALL SELECT 4,'双'
UNION ALL SELECT 5,'双'
UNION ALL SELECT 6,'单'SELECT DAN,
COUNT1=(SELECT COUNT(1)+1 FROM @T B WHERE DAN=A.DAN AND ID=A.ID-1)
FROM @T A