小编use*_*149的帖子

如何在时间跨度内对数据进行分组

我有一组按日期排序的行,如下所示:

2017-01-01 
2017-01-01
2017-01-02
2017-01-03
2017-01-04
2017-01-17
2017-01-18
2017-01-18
2017-01-18
2017-01-19
2017-01-19
2017-01-26
2017-01-27
2017-01-27
Run Code Online (Sandbox Code Playgroud)

DDL & DML 为那些愿意提供帮助的人:

CREATE TABLE foo ( DateCol date );
INSERT INTO foo ( DateCol )
VALUES
  ( '2017-01-01' ),
  ( '2017-01-01' ),
  ( '2017-01-02' ),
  ( '2017-01-03' ),
  ( '2017-01-04' ),
  ( '2017-01-17' ),
  ( '2017-01-18' ),
  ( '2017-01-18' ),
  ( '2017-01-18' ),
  ( '2017-01-19' ),
  ( '2017-01-19' ),
  ( '2017-01-26' ),
  ( '2017-01-27' ),
  ( '2017-01-27' )
);
Run Code Online (Sandbox Code Playgroud)

我正在尝试对行进行分组并添加一个额外的列来标记该组。标准是,如果它们之间的时间间隔小于 3 天,则任意两行应在一组中,如下所示:

2017-01-01 …
Run Code Online (Sandbox Code Playgroud)

gaps-and-islands

5
推荐指数
1
解决办法
4075
查看次数

标签 统计

gaps-and-islands ×1