相关疑难解决方法(0)

连续几天在sql中

我发现连续几天有很多stackoverflow QnAs.
仍然答案太短,我无法理解发生了什么.

具体来说,我会组成一个模型(或表)
(如果它有所不同,我正在使用postgresql.)

CREATE TABLE work (
    id integer NOT NULL,
    user_id integer NOT NULL,
    arrived_at timestamp with time zone NOT NULL
);


insert into work(user_id, arrived_at) values(1, '01/03/2011');
insert into work(user_id, arrived_at) values(1, '01/04/2011');
Run Code Online (Sandbox Code Playgroud)
  1. (最简单的形式)对于给定的用户,我想找到最后连续的日期范围.

  2. (我的最终目标)对于给定的用户,我想找到他连续的工作日.
    如果他昨天来上班,他仍然(截至今天)有连续工作的机会.所以我昨天连续几天告诉他.
    但如果他昨天错过了,他的连续几天是0或1,取决于他今天是否来.

今天说是第8天.

3 * 5 6 7 * = 3 days (5 to 7)
3 * 5 6 7 8 = 4 days (5 to 8)
3 4 5 * 7 * = 1 day (7 to 7)
3 * …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

7
推荐指数
1
解决办法
1501
查看次数

标签 统计

postgresql ×1

sql ×1