查询计算连续事件之间的平均时间

2023-11-21

我的问题是如何编写 SQL 查询来计算连续事件之间的平均时间。

我有一张小桌子:

event Name    |    Time

stage 1       |    10:01
stage 2       |    10:03
stage 3       |    10:06
stage 1       |    10:10
stage 2       |    10:15
stage 3       |    10:21
stage 1       |    10:22
stage 2       |    10:23
stage 3       |    10:29

我想构建一个查询,获取阶段(i)和阶段(i+1)之间的平均时间作为答案。

例如, 第 2 阶段和第 3 阶段之间的平均时间为 5:

(3+6+6)/3 =  5

啊啊啊,还有一点黑魔法:

select a.eventName, b.eventName, AVG(DATEDIFF(MINUTE, a.[Time], b.[Time])) as Average from
     (select *, row_number() over (order by [time]) rn from events) a
join (select *, row_number() over (order by [time]) rn from events) b on (a.rn=b.rn-1)
group by
a.eventName, b.eventName

这将为您提供如下行:

stage3  stage1  2
stage1  stage2  2
stage2  stage3  5

第一列是开始事件,第二列是结束事件。如果事件 1 之后有事件 3,该事件也将被列出。否则,您应该提供一些关于哪个阶段在哪个阶段之后的标准,因此仅在这些阶段之间计算时间。

Added:这在 Transact-SQL(MSSQL、Sybase)和 PL/SQL(Oracle、PostgreSQL)上应该可以正常工作。不过我还没有测试过,仍然可能存在语法错误。这不适用于任何版本的 MySQL。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查询计算连续事件之间的平均时间 的相关文章

  • postgres 有 CLOSEST 运算符吗?

    我正在寻找这样的东西 给定一个表格 id number 1 7 2 1 25 3 1 01 4 3 0 查询SELECT FROM my table WHEREnumberCLOSEST 1 将返回第 3 行 我只关心数字 现在我有一个程序
  • Oracle 中的 SQL 调优 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何文章 链接可以让我找到 SQL 调优 Oracle 的示例 如果能用例子来解释那就太好了 我需
  • 使用 MS Access 获取行的第一个实例

    EDITED 我有这个查询 我想SELECT表中记录的第一个实例petTable SELECT id pet ID FIRST petName First Description FROM petTable GROUP BY pet ID
  • 使用Powershell访问远程Oracle数据库

    我需要能够连接到我的网络上基于 Windows 7 的 Oracle 服务器 32 位 Oracle XE 我需要连接的机器运行 Windows 7 64 位 两台机器上都安装了 Powershell 我已在 64 位计算机上安装了 Ora
  • 获取家庭成员

    假设以下家庭 其构建架构是 create table PersonConn child int parent int insert into PersonConn values 1 2 insert into PersonConn valu
  • SPARK SQL - 当时的情况

    我是 SPARK SQL 的新手 SPARK SQL 中是否有相当于 CASE WHEN CONDITION THEN 0 ELSE 1 END 的内容 select case when 1 1 then 1 else 0 end from
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 如何在 Visual Studio 中更改 Azure 数据库表的列顺序

    我整个下午都在寻找在 MS Visual Studio 2022 中重新排序 Azure 数据库表列的方法 没有运气 在其他应用程序中 可以通过拖动或剪切和粘贴轻松重新排列列 这里无能为力 此时 我什至不确定可以在 VS 中移动列 我只对
  • 使用 JSON 参数的 Postgres 批量 INSERT 函数

    这是一个plpgsqlpostgres 的函数9 6 它试图INSERT一行 如果插入没有失败 由于违反键约束 那么它会运行更多命令 CREATE FUNCTION foo int text text RETURNS void AS BEG
  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 如何在 PostgreSQL 中使用具有多个值的 SQL LIKE 条件?

    有没有更短的方法来查找多个匹配项 SELECT from table WHERE column LIKE AAA OR column LIKE BBB OR column LIKE CCC 这个问题适用于 PostgreSQL 9 1 但如
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 使用 ADODB 连接从关闭的工作簿中检索数据。某些数据被跳过?

    我目前正在编写一些代码 可以通过 ADODB 连接访问单独的工作簿 由于速度的原因 我选择了这种方法而不是其他方法 下面是我的代码 Sub GetWorksheetData strSourceFile As String strSQL As
  • 如何 md5 所有列(无论类型如何)

    我想创建一个 sql 查询 或 plpgsql 它将 md5 所有给定的行 无论类型如何 但是 在下面 如果 1 为空 则哈希为空 UPDATE thetable SET hash md5 accountid accounttype cre
  • SELECT 语句会受到 SQL 注入攻击吗?

    实际上有2个问题 我知道我必须尽可能多地使用存储过程 但我想知道以下内容 A 我可以从 SELECT 语句 例如 Select from MyTable 获得 SQL 注入攻击吗 B 另外 当我在 ASP NET 中使用 SQLDataSo
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 在 postgres 查询中使用列表

    我有一个动态列表 list a b c d 所以长度可能会改变 我想在查询中比较这些列表值 select from student where name in all the list values 我想将列表值传递到此查询中 我怎样才能做
  • 如何在NiFi中映射流文件中的列数据?

    我有 csv 文件 其结构如下 Alfreds Centro Ernst Island Bacchus Germany Mexico Austria UK Canada 01 02 03 04 05 现在我必须将这些数据移入数据库 如下所示
  • 在 Oracle 行的多个列上使用透视

    我在 Oracle 表中有以下示例数据 tab1 我正在尝试将行转换为列 我知道如何在某一列上使用 Oracle 数据透视表 但是否可以将其应用于多个列 样本数据 Type weight height A 50 10 A 60 12 B 4

随机推荐

  • 如何检查用户是否将“input”或“raw_input”提示留空?

    如何检查输入是否已输入 例如 python2 x str raw input Message gt gt 或者 python3 y input Number gt gt 你知道如果第二个没有输入任何内容 因为它会引发SyntaxError
  • Angularjs - 处理整个应用程序的 401

    我的一个控制器中有以下代码来优雅地处理 401 ChannelsService query function response scope channels response function error if error status 4
  • iOS 5 NSURL连接到HTTPS服务器

    我已经搜索了几个小时有关NSURLConnection允许我用来连接到任何 HTTPS 服务器的委托 方法 即使我在这个网站上搜索 我也找到了答案 但这些答案对我不起作用 如果你们需要的话 我会上传代码链接 但我更喜欢一个简单的教程 示例代
  • 改变WPF按钮的形状而不改变其他样式

    我想将 WPF 按钮的形状从默认的圆角矩形更改为其他形状 例如箭头 但我想保留其余的样式 填充颜色 边框颜色 悬停状态等 希望按钮与所有其他常规按钮具有相同的样式 我相信这取决于 Windows 版本 系统主题颜色等 所以我不能从头开始重新
  • 当作为带有接口约束的泛型参数传递时,值类型是否被装箱?

    As a result of doing the research to answer this question I think I have determined that the answer is no However I had
  • 为什么十六进制颜色值中有一个前导“#FF”?

    我在用着表达混合3 并手动编写一些 XAML 特别是控件的颜色值 我有一个已转换为十六进制的 RGB 颜色列表 我只需要将十六进制值插入到我的 XAML 中 最初 我将电子邮件中的十六进制值粘贴到适当的属性中 在我完成之前 Blend 开始
  • 绑定到 Xamarin Forms 中的附加属性

    如何绑定到 Xamarin Forms XAML 中的附加属性 这不起作用 但它可以编译并且最有意义 BindingContext x Binding Source x Reference ControlName Path XMLNameS
  • Zend 框架清除缓存

    我正在使用此代码在 zend 框架中缓存数组 frontendOptions array lifetime gt 24 3600 7 cache lifetime of 7 day automatic serialization gt tr
  • 绘制对数分类网络度分布

    我经常遇到并从复杂网络中制作长尾度分布 直方图 如下图所示 从许多观察来看 它们使这些尾巴的末端很重 非常重和拥挤 然而 我读过的许多出版物都有更清晰的度分布 在分布末尾没有这种聚集 并且观察结果的间隔更均匀 如何使用以下方法制作这样的图表
  • Topshelf 窗口服务在尝试启动服务时出现错误 1053

    我使用 Topshelf 开发了一个 Windows 服务 它在本地运行良好 当我部署测试并尝试启动服务时 出现以下错误 Error 1053 The service did not respond to the start or cont
  • Bash:循环遍历名称中包含模式的变量

    在我的脚本中 我有未知数量的包含角度的变量 我想将它们转换为向量 我创建了变量名称 使每个 参数 的角度具有以下形式 参数 角度 纬度 纬度 因此 每个参数都有一个 lat 和 perp 角度变量 所以我想做的是找到包含 angle lat
  • 如何在C++中获取动态数组的大小[重复]

    这个问题在这里已经有答案了 通过输入大小并将其存储到 n 变量中来编写动态数组的代码 但我想从模板方法获取数组长度而不是使用 n int a NULL Pointer to int initialize to nothing int n S
  • ASP.Net:在 Page_Load 中调用异步方法

    我有一个 API 客户端 它有一个发送方法 用于将我的对象发布到 Web API 服务并返回 ReturnedResults 类型的对象 现在我需要在 ASP net page load 事件中运行此 post 方法 我在这里看到了类似的示
  • 保护图片下载

    我知道保护图像下载的最佳方法首先就是不要将其放在互联网上 我认为没有 100 的防止图像下载的保护 如果用户可以在互联网上看到图像 他可以通过一些经验找到下载它的权限 我知道透明 gif or png覆盖图像或使用background im
  • 为什么macos(x86)可以运行docker arm容器arm64v8/alpine?

    我碰巧发现我的macos x86 可以为arm镜像arm64v8 alpine运行docker容器 但有以下警告 docker run it arm64v8 alpine uname a WARNING The requested imag
  • JavaFX完全定制windows?

    我想要一个完全自定义窗口外观的应用程序 到目前为止 我已经了解到可以使用以下方法删除典型的窗口内容 class Application extends javafx application Application Starts the ap
  • 通过 Eclipse Kepler 启动 tomcat v7 时遇到问题

    我看到像我这样的问题以前已经发布过 其中一些帖子已得到解答 我已经尝试过修复 看起来确实应该有效 但我仍然遇到同样的问题 我正在尝试通过本地主机上的 apache tomcat 7 0 53 在 Eclipse Kepler Java EE
  • 两个子图的单个颜色条会更改其中一个子图的大小

    我正在尝试添加一个colorbar两个人matshow主要使用以下代码here and here 我的代码现在如下 但问题是颜色条调节了右侧绘图的大小 我怎样才能防止这种情况发生 import numpy as np import matp
  • 如何比较大文本文件?

    我有一个关于你对我的 技术 的看法的一般性问题 有 2 个文本文件 file 1 and file 2 需要相互比较 两者都非常巨大 3 4 GB 每个从 30 000 000 到 45 000 000 行 我的想法是阅读几行 尽可能多 f
  • 查询计算连续事件之间的平均时间

    我的问题是如何编写 SQL 查询来计算连续事件之间的平均时间 我有一张小桌子 event Name Time stage 1 10 01 stage 2 10 03 stage 3 10 06 stage 1 10 10 stage 2 1