我有下面的表,每个标识符都缺少日期,我想要确定错过了多少次序列。
对于标识符3,从下表中看,日期序列遗漏了三次。那是从
用于标识符4
用于标识符5
所以我期望的输出是
Identifier count of missed seq dates
3 3
4 4
5 1请使用这张桌子:
DECLARE @table TABLE (IDENTi VARCHAR(50), StartDate DATETIME)
INSERT INTO @table VALUES ('3', '12/1/2024 ')
INSERT INTO @table VALUES ('3', '12/5/2024 ')
INSERT INTO @table VALUES ('3', '12/6/2024 ')
INSERT INTO @table VALUES ('3', '12/7/2024 ')
INSERT INTO @table VALUES ('3', '12/8/2024 ')
INSERT INTO @table VALUES ('3', '12/13/2024')
INSERT INTO @table VALUES ('3', '12/14/2024')
INSERT INTO @table VALUES ('3', '12/15/2024')
INSERT INTO @table VALUES ('3', '12/16/2024')
INSERT INTO @table VALUES ('3', '12/17/2024')
INSERT INTO @table VALUES ('3', '12/18/2024')
INSERT INTO @table VALUES ('3', '12/23/2024')
INSERT INTO @table VALUES ('3', '12/24/2024')
INSERT INTO @table VALUES ('3', '12/25/2024')
INSERT INTO @table VALUES ('3', '12/26/2024')
INSERT INTO @table VALUES ('3', '12/27/2024')
INSERT INTO @table VALUES ('3', '12/28/2024')
INSERT INTO @table VALUES ('3', '12/29/2024')
INSERT INTO @table VALUES ('3', '12/30/2024')
INSERT INTO @table VALUES ('4', '12/1/2024 ')
INSERT INTO @table VALUES ('4', '12/5/2024 ')
INSERT INTO @table VALUES ('4', '12/6/2024 ')
INSERT INTO @table VALUES ('4', '12/7/2024 ')
INSERT INTO @table VALUES ('4', '12/8/2024 ')
INSERT INTO @table VALUES ('4', '12/13/2024')
INSERT INTO @table VALUES ('4', '12/14/2024')
INSERT INTO @table VALUES ('4', '12/15/2024')
INSERT INTO @table VALUES ('4', '12/16/2024')
INSERT INTO @table VALUES ('4', '12/17/2024')
INSERT INTO @table VALUES ('4', '12/18/2024')
INSERT INTO @table VALUES ('4', '12/23/2024')
INSERT INTO @table VALUES ('4', '12/24/2024')
INSERT INTO @table VALUES ('4', '12/25/2024')
INSERT INTO @table VALUES ('4', '12/26/2024')
INSERT INTO @table VALUES ('4', '12/30/2024')
INSERT INTO @table VALUES ('5', '12/23/2024')
INSERT INTO @table VALUES ('5', '12/25/2024')发布于 2014-12-24 18:36:50
下面是快速变体:
select IDENTi, count(*)
from tt as a
where
datediff(day, (select max(StartDate) from tt as b where a.IDENTi=b.IDENTi and a.StartDate>b.StartDate), a.StartDate)>1
group by IDENTihttp://sqlfiddle.com/#!6/00fda/11
https://stackoverflow.com/questions/27640700
复制相似问题