Sql 在同一列中选择两个日期之间的最大差值

Sql 在同一列中选择两个日期之间的最大差值,sql,postgresql,datetime,aggregate-functions,date-arithmetic,Sql,Postgresql,Datetime,Aggregate Functions,Date Arithmetic,我有一个事故日期表,我想计算同一列中日期I和日期I+1之差的最大值。当我们宣布事故日期时,我想找到无事故天数的记录 您可以使用lag()。假设像mytable(dt)这样的表结构,其中dt是类似date的数据类型,您将执行以下操作: select max(diff) from (select dt - lag(dt) over(order by dt) diff from mytable) t 请提供有关源表/分组/业务逻辑等的更多信息。您如何描述它听起来像是希望在列中找到最小值和最大值之间的

我有一个事故日期表,我想计算同一列中日期I和日期I+1之差的最大值。当我们宣布事故日期时,我想找到无事故天数的记录

您可以使用
lag()
。假设像
mytable(dt)
这样的表结构,其中
dt
是类似
date
的数据类型,您将执行以下操作:

select max(diff)
from (select dt - lag(dt) over(order by dt) diff from mytable) t

请提供有关源表/分组/业务逻辑等的更多信息。您如何描述它听起来像是希望在列中找到最小值和最大值之间的差异,但可能是每个特定记录的最小值和最大值-如何定义-例如意外事件id或其他。。。