Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL:如何维护达到某个阈值后重置的运行总数?_Sql_Function_Window_Amazon Redshift - Fatal编程技术网

SQL:如何维护达到某个阈值后重置的运行总数?

SQL:如何维护达到某个阈值后重置的运行总数?,sql,function,window,amazon-redshift,Sql,Function,Window,Amazon Redshift,如果我有一个简单的表,其中有一个人ID和一个日期,每个人有许多行,并且有不同的日期,那么我如何跟踪从一个日期到下一个日期的天数,并在达到某个阈值后重置计数?我至少让运行的总部分工作(使用窗口上的求和功能),但如果我想记录它达到10天的时间,我无法确定如何重置计数器。我在红班工作。任何帮助都将不胜感激。多谢各位 对于用例的某些特定上下文,我有一个包含医疗事件的表,如果一个人在初始事件的10天内有另一个事件,我不想将10天窗口中的后续事件作为单独的事件来计算,但一旦我发现一个事件大于初始事件后的10

如果我有一个简单的表,其中有一个人ID和一个日期,每个人有许多行,并且有不同的日期,那么我如何跟踪从一个日期到下一个日期的天数,并在达到某个阈值后重置计数?我至少让运行的总部分工作(使用窗口上的求和功能),但如果我想记录它达到10天的时间,我无法确定如何重置计数器。我在红班工作。任何帮助都将不胜感激。多谢各位

对于用例的某些特定上下文,我有一个包含医疗事件的表,如果一个人在初始事件的10天内有另一个事件,我不想将10天窗口中的后续事件作为单独的事件来计算,但一旦我发现一个事件大于初始事件后的10天,我想把这件事算作第二件事,依此类推

Person A, day 1, mark as new event
Person A, day 5, do not mark as new event
Person A, day 12, mark as new event
Person A, day 15, do not mark as new event
Person A, day 23, mark as new event
Person A, day 100, mark as new event
多谢各位。也许这会有帮助?输入表将是:

person_id   day
A       1
A       5
A       12
A       15
A       23
A       100
person_id   day     new_event
A       1   1
A       5   0
A       12  1
A       15  0
A       23  1
A       100 1
预期的结果是:

person_id   day
A       1
A       5
A       12
A       15
A       23
A       100
person_id   day     new_event
A       1   1
A       5   0
A       12  1
A       15  0
A       23  1
A       100 1

create table
insert-into
语句的形式提供一个单一的表会很有用。这个问题需要分层或递归查询,红移不支持哪个。以
create table
insert-into
语句的形式提供一个单独的表会很有用。这个问题需要分层或递归查询,而红移不支持。