行与多进出的SQL时差计算

SQL time difference calculation between rows and multiple ins and outs

提问人:Deboparna 提问时间:11/14/2023 最后编辑:Deboparna 更新时间:11/14/2023 访问量:47

问:

假设文档制作过程包括几个阶段 (1,2,...,8)。会制作一张票来跟踪每个文档的进度。每次在勾选中进行任何更改时,它都会存储为修改并存储其时间。但我们只关心它的舞台被改变的时间。可能存在一种情况,即文档被发送回某个前一个阶段,因此它在各个阶段之间经历了很多来回。

我想计算每个文档在每个阶段花费的平均时间、中位数和最大时间。假设该表如下所示(忽略详细信息):

文档名称 修改时间 艺名
文件1 01/01/2023 06:00:00 第 1 阶段
文件1 01/01/2023 07:00:00 第 1 阶段
文件1 02/01/2023 06:00:00 第 2 阶段
文档 2 02/01/2023 07:00:00 第 1 阶段
文档 2 04/01/2023 06:00:00 第 2 阶段
文件1 05/01/2023 06:00:00 第 3 阶段
文件1 05/01/2023 14:00:00 第 3 阶段
文件1 05/01/2023 15:00:00 第 3 阶段
文档 2 05/01/2023 15:30:00 第 3 阶段
文件1 05/01/2023 16:00:00 第 3 阶段
文件1 05/01/2023 17:00:00 第 2 阶段

在某些情况下,有一个修改时间,但舞台没有改变,因为票证中的其他东西发生了变化,这不是我们关心的问题。

编辑:只要我获得每个阶段文档的平均值、中位数和最大值,结果就可以是任何形式。

SQL 日期 时间 google-bigquery

评论

2赞 jarlh 11/14/2023
样本数据很好,但您还需要指定预期结果 - 即提供一个完整的最小可重复示例
0赞 jarlh 11/14/2023
此外,为您正在使用的 dbms 添加一个标记。(在日期/时间方面,许多产品远未符合 ANSI SQL。
0赞 jarlh 11/14/2023
@SelVazi,那些 MD 风格的桌子太浪费了屏幕高度。现在我必须向上/向下滚动才能在我的笔记本电脑上阅读所有这些内容。(这意味着我把这个问题留给其他人来回答。
0赞 Deboparna 11/14/2023
@jarlh 只要我得到平均值、中值和最大值,最终结果可以是任何东西。这不是我想要的结束,而是结论。另外,我添加了dbms,谢谢!
0赞 SelVazi 11/14/2023
@jarlh真的,但仍然推荐 MD 款式!

答: 暂无答案