【发布时间】:2018-08-05 07:25:21
【问题描述】:
我有一个用作状态更改日志的数据库表。所有时间戳都在一个列中提供。我需要计算每个“on_id”的特定状态更改之间经过的时间(以分钟为单位)。正如您从我的示例数据中看到的那样,我不能简单地计算从一行到下一行的差异,因为在单个“on_id”的状态更改之间存在不相关的行。
id state from_state to_state start_time on_id user_id
45 transition_failed volunteer_to_donor claimed 2016-11-28 18:05:59.509807+00 10 53
1 transition_completed drafting available 2016-11-10 19:56:16.454458+00 2 12
2 transition_failed available available 2016-11-10 19:57:01.199609+00 2 12
3 transition_failed available available 2016-11-10 19:58:08.134549+00 2 12
28 transition_completed volunteer_to_donor volunteer_to_recipient 2016-11-22 22:14:57.060536+00 9 51
4 transition_completed drafting available 2016-11-14 16:36:17.802104+00 3 12
5 transition_completed drafting available 2016-11-16 14:59:56.925226+00 5 15
29 transition_failed volunteer_to_recipient volunteer_to_donor 2016-11-22 22:51:01.250038+00 9 51
6 transition_completed drafting available 2016-11-16 18:04:04.172773+00 6 15
7 transition_completed available claimed 2016-11-16 18:05:23.30427+00 6 16
30 transition_failed volunteer_to_recipient volunteer_to_recipient 2016-11-22 22:51:12.458881+00 9 51
8 transition_completed claimed volunteer_to_donor 2016-11-16 18:05:28.546312+00 6 16
9 transition_completed volunteer_to_donor volunteer_to_recipient 2016-11-16 18:05:39.388517+00 6 16
10 transition_failed volunteer_to_recipient volunteer_to_recipient 2016-11-16 18:05:48.772071+00 6 16
11 transition_completed volunteer_to_recipient complete 2016-11-16 18:06:56.9068+00 6 16
31 transition_completed volunteer_to_recipient complete 2016-11-22 22:51:38.570253+00 9 51
12 transition_completed drafting available 2016-11-21 15:11:01.842671+00 7 12
我认为我需要一个计算字段,但我不知道要使用的语法或函数。
例如,我希望能够计算每个“on_id”从“可用”状态变为“已声明”状态所用的时间。对于 on_id 6,这需要 1 分 19 秒。
id state from_state to_state start_time on_id user_id
6 transition_completed drafting available 2016-11-16 18:04:04.172773+00 6 15
7 transition_completed available claimed 2016-11-16 18:05:23.30427+00 6 16
【问题讨论】:
-
更新您的问题添加适当的数据样本和预期结果
-
谢谢,我已按要求更新了我的问题。
标签: mysql tableau-api datediff calculated-field