【发布时间】:2018-02-19 19:06:43
【问题描述】:
我有一个 Oracle 数据库,其中机器人正在处理索赔。我有机器人 ID、声明 ID 和进程时间戳。我需要计算机器人从一个索赔到下一个索赔的时间。然后,我将需要显示在索赔之间花费超过 5 分钟的机器人,以及开始索赔的索赔 ID。举个例子:
Bot ID Claim ID Process Timestamp
123 12345 2/19/2018 12:45:26
123 12346 2/19/2018 12:55:11
机器人处理索赔 12345 的时间超过 5 分钟,因此我需要显示:
Bot ID Claim ID Minutes
123 12345 9:85
【问题讨论】:
-
超前和滞后窗口函数可能有助于解决此问题。
-
能否为您的数据库和您已经尝试过的代码提供示例创建代码?
-
我没有创建数据库,我实际上是使用两个表来获取bot id、Claim id和进程时间戳的基本信息。我还没有弄清楚如何计算一列之间的时间差。我在网上搜索并找到了关于两列的信息,或者有一个额外的开始时间和结束时间字段的列,但这里都不存在。基本上,base 的代码是选择不同的 u.user_id 作为 BotID、c.claim_id、c.process_timestamp 从声明 c 加入用户 u 在 c.user_id = u.user_id where u.user_id like 'Bot%'