【发布时间】:2021-02-03 00:52:13
【问题描述】:
我是 SQL 新手,因此是这个问题。我有下表。
id | prev_state | curr_state | start_curr_state |selected_to_interview|interview_to_selected|
1 | APPLICANT. | INTERVIEW | 2020-10-12. | ? |
2 | NULL | APPLICANT. | 2020-10-16 | NULL | NULL. |
1 | INTERVIEW. | SELECTED. | 2020-1--20. | NULL | ? |
我有一组 3 个预先确定的候选状态 - APPLICANT、INTERVIEW 和 SELECTED。
该表提供了从一个阶段过渡到另一个阶段的候选人的记录。
start_curr_state 是当前状态的开始日期 - 采访状态的第 1 行开始。
根据转换的状态,我需要计算每个阶段转换所需的时间。
我知道时间是日期差异 start_curr_state 对于 prev_state - start_curr_state
但我不确定如何计算这个。任何帮助表示赞赏。
【问题讨论】:
-
请标记数据库平台
-
@OldProgrammer 已更新
-
你需要展示你的最终答案应该是什么样子,这样很明显你的问题是完整的。从表面上看,一个简单的带有窗口函数的递归 CTE 就可以做到,但不知道输出是什么,无法为您提供明确的 sql。
标签: sql hive apache-spark-sql