tT-SQL:识别x在整数序列中的差异

  • 本文关键字:整数 识别 tT-SQL sql tsql
  • 更新时间 :
  • 英文 :


我有一个简单的表:这里是一个值的样子的例子(去掉机密值之后)。

我需要做的是计算实例的数量——Date_Nbr值和下面的值之间的差值大于2。我可以想象创建第二个表,其中为每个Group和Person放置一个实例数的整数。

这在T-SQL中可能吗?我没有显示任何代码,因为我完全不知所措。

对于那些需要表格定义的人来说,它将是这样的:

    Date_Nbr int not null,
    Group varchar(5) not null,
    Person varchar(5) not null

显示的值将存在于该表中(我们称之为Date_Seq)。

如果有任何想法,我将不胜感激。非常感谢。

Date_Nbr | Group | Person
 1        C        A
 4        C        A
 5        C        A
 8        C        A
 10       C        A
 11       C        A
 13       C        A
 14       C        A
 15       C        A

p.S.--

我在上面口头描述了它,但这是我希望实现的目标的视觉描述,其中"Count_Gaps"是在"Date_Nbr"序列中发现差异大于2的次数。

 Group | Person | Count_Gaps
 C          A     [integer value]

所有没有2个以上对应人员+组记录的记录。

SELECT
*
FROM <table> t1
LEFT join <table> t2 ON t1.group=t2.group AND t1.person=t2.person AND (t1.Date_nbr+1)=t2.Date_nbr
LEFT join <table> t3 ON t1.group=t3.group AND t1.person=t3.person AND (t1.Date_nbr+2)=t3.Date_nbr
WHERE t2.Date_nbr IS NULL
AND t3.Date_nbr IS NULL

最新更新