如何聚合多个实例的datediff值

问题描述 投票:0回答:1

我需要的数据需要加上每次具体变化的总时间, 当 value1= 正在进行审核时,如何对值 1 = 审核值 2 = 审核进行中之间的时间戳进行 datediff,并在每次发生这种情况时执行此操作,然后将所有时间添加到 mysql 中。

enter image description here

我尝试了以下行,但第一次和最后一次的值都匹配。

select datediff(day, cast(min(created) as DATETIME), cast(max(created)as DATETIME)) 
from table 
where id=555755 and identifier='64230be02cee496759ecf80d'

我预计进行更改时总共花费的时间

enter image description here

sql mysql
1个回答
0
投票

既然您已经有了一个标识符和一个 ID,也许可以尝试创建一个额外的列,每次您点击“审核进行中”值时该列都会递增。

类似: sum(case when value1 = 'review in Progress' then 1 else 0 end) over(按 id order by time asc rows between unbounded previous and current row ) as review_cntr

将其放入易失性表中,然后您可以执行以下操作 选择 id,review_cntr,min(时间)为min_time,max(时间)为max_time ... 然后你就可以乱搞了

© www.soinside.com 2019 - 2024. All rights reserved.