小编Pyt*_*00b的帖子

如何在SQL中识别连续日期组?

我正在尝试编写一个识别日期组的函数,并测量组的大小.

到目前为止,我一直在用Python编写程序,但是我想把它转移到SQL中.

例如,列表

Bill 01/01/2011 
Bill 02/01/2011 
Bill 03/01/2011 
Bill 05/01/2011 
Bill 07/01/2011 
Run Code Online (Sandbox Code Playgroud)

应输出到新表中:

Bill 01/01/2011  3 
Bill 02/01/2011  3 
Bill 03/01/2011  3 
Bill 05/01/2011  1 
Bill 07/01/2011  1
Run Code Online (Sandbox Code Playgroud)

理想情况下,这也应该能够解释周末和公众假期 - 我的表中的日期将是周一至周五(我想我可以通过制作一个新的工作日表并按顺序编号来解决这个问题).有人在工作,建议我尝试CTE.我是新手,所以我很感激任何人都可以提供的任何指导!谢谢.

sql date gaps-and-islands

10
推荐指数
2
解决办法
7388
查看次数

Redshift 中的运行计数

我有一个事件表和一个票证(创建日期,person_id)表。当有人买票时,票表中会创建一行(Redshift)

我正在尝试制作快照表,以便我可以查看过去任何一天在该阶段购买了多少张门票。

到目前为止我有这个

select
    trunc(e.created),
    count(person_id) over (order by trunc(e.created) rows unbounded preceding) as cumulative_signups
from event e
LEFT JOIN  person_tickets t on e.id = t.event_id
Run Code Online (Sandbox Code Playgroud)

问题是每次注册都会给我一行,这意味着我得到了这个,而不是每天一行。

trunc       cumulative_signups
2016-01-15  1
2016-01-15  2
2016-01-15  3
2016-01-15  4
2016-01-16  5



trunc       cumulative_signups
2016-01-15  4
2016-01-16  5
Run Code Online (Sandbox Code Playgroud)

sql cumulative-sum amazon-redshift

2
推荐指数
1
解决办法
5217
查看次数