首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问间隔超过3个月- sql

访问间隔超过3个月- sql
EN

Stack Overflow用户
提问于 2020-10-07 16:32:13
回答 1查看 31关注 0票数 0

我正在尝试识别两次访问间隔超过3个月的id

代码语言:javascript
复制
CREATE TABLE Data (
    ID int,
    visit datetime);

INSERT INTO data (ID,visit)
VALUES
    (1,'1998-05-18 00:00:00.000'),
    (1,'1995-05-18 00:20:00.000'),
    (1,'1994-12-18 01:00:00.000'),
    (1,'1994-007-18 00:00:00.000'),
    (2,'2000-06-29 13:30:00.000'),
    (2,'2000-05-29 13:45:00.000'),
    (2,'2000-04-29 10:30:00.000'),
    (3,'2009-09-29 13:30:00.000'),
    (3,'2009-01-29 13:30:00.000'),
    (3,'2008-12-29 13:30:00.000');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-07 19:49:10

您可以使用lag()date/time函数在不同的数据库中有很大的不同,但其思想是:

代码语言:javascript
复制
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';

Here是一个db<>fiddle。它使用SQL Server,因此where子句是:

代码语言:javascript
复制
where prev_visit < dateadd(month, -3, visit);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64240222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档