Sql 博士后连续几天,缺口和岛屿,塔比比托桑

Sql 博士后连续几天,缺口和岛屿,塔比比托桑,sql,postgresql,gaps-and-islands,Sql,Postgresql,Gaps And Islands,我有以下数据库表: 日期 名称 2014-08-10 上下快速移动 2014-08-10 控告 2014-08-11 上下快速移动 2014-08-11 迈克 2014-08-12 上下快速移动 2014-08-12 迈克 2014-08-05 上下快速移动 2014-08-06 上下快速移动 你使用了错误的逻辑。基本上,您希望日期是连续的,因此您希望从日期中减去顺序: 是一个数据小提琴。你能添加准确的预期结果吗?@JimJones刚刚更新了我的问题,预期输出应该是什么?顺便说一句,它是,而不是

我有以下数据库表:

日期 名称 2014-08-10 上下快速移动 2014-08-10 控告 2014-08-11 上下快速移动 2014-08-11 迈克 2014-08-12 上下快速移动 2014-08-12 迈克 2014-08-05 上下快速移动 2014-08-06 上下快速移动
你使用了错误的逻辑。基本上,您希望日期是连续的,因此您希望从日期中减去顺序:


是一个数据小提琴。

你能添加准确的预期结果吗?@JimJones刚刚更新了我的问题,预期输出应该是什么?顺便说一句,它是,而不是Tababitosan。这不起作用,因为日期不是唯一的。因此,按日期行
2014-08-11 bob
2014-08-11 mike
排序将得到不同的
row_number()
为bob和mike的下一个条目生成移位,但按名称划分时相同,这破坏了方法的思想。
SELECT t.Name, COUNT(*) as frequency
FROM (SELECT o.*,
             row_number() OVER (PARTITION BY Name ORDER BY Date) as seqnum
      FROM orders o
     ) t
GROUP BY Name, date - seqnum * interval '1 day';