访问间隔超过3个月-sql

访问间隔超过3个月-sql,sql,Sql,我正在试图确定访问间隔超过3个月的id 您可以使用lag()日期/时间功能在不同的数据库中存在显著差异,但其思想是: select distinct id from (select d.*, lag(visit) over (partition by id order by visit) as prev_visit from data d ) d where prev_visit < visit - interval '3 month'; 在这里定义“差距”。这是

我正在试图确定访问间隔超过3个月的id

您可以使用
lag()
<代码>日期/
时间
功能在不同的数据库中存在显著差异,但其思想是:

select distinct id
from (select d.*, lag(visit) over (partition by id order by visit) as prev_visit
      from data d
     ) d
where prev_visit < visit - interval '3 month';

在这里定义“差距”。这是否意味着它在3个月内没有最近的访问,无论是之前还是之后?此外,请包含输出并告诉我们您使用的SQL版本。还请指定预期结果-作为格式化文本(无图像)。用您使用的数据库标记您的问题。如果我想了解大于3个月或小于3个月的问题,请向我表示感谢?我知道有什么办法可以做到@GordonLinoff@priya . . . 您可以调整
where
中的日期比较逻辑。我尝试使用where-prev\u-visit3,visit);在上一次就诊3,就诊)的地方进行试验;更大的操作员,但使我出错我尝试了上一次访问3,访问);更大的运营商,但槽我的错误-戈登林诺夫
select distinct id
from (select d.*, lag(visit) over (partition by id order by visit) as prev_visit
      from data d
     ) d
where prev_visit < visit - interval '3 month';
where prev_visit < dateadd(month, -3, visit);