计算查询中活动时间戳之间的时间差

2024-04-02

我对 Access 相当陌生,无法解决(我希望)一个简单的问题 - 我想我可能是通过 Excel 护目镜来查看它。

我有一个名为importedData我每天(并不奇怪)导入一个日志文件。该日志文件来自某些采矿设备上的简单数据记录应用程序,本质上它保存了timestamp and status当前活动更改为新活动的点。

数据示例如下所示:

然后使用查询过滤此信息以定义我想要查看信息的范围,例如从 29/11/2013 06:00:00 AM 到 29/11/2013 06:00:00 PM

现在的目的是采取status条目的timestamp并获取它与查询结果的后续行记录之间的时间差。由于设备轮班工作 12 小时,因此我应该能够了解设备在轮班期间执行每项活动所花费的时间。

在上面的示例中,设备在 00:01:00 处于“START_SHIFT”状态,在 06:08:26 处于“DELAY_WAIT_PIT”状态,依此类推。然后,我将构建所选期间的状态条目的唯一列表,并对每个状态的总时间进行求和以获得轮班摘要。


您可以使用相关子查询来获取下一个timestamp对于每一行。

SELECT
    i.status,
    i.timestamp,
    (
        SELECT Min([timestamp])
        FROM importedData
        WHERE [timestamp] > i.timestamp
    ) AS next_timestamp
FROM importedData AS i
WHERE i.timestamp BETWEEN #2013-11-29 06:00:00#
    AND #2013-11-29 18:00:00#;

然后,您可以将该查询用作另一个查询中的子查询,在其中计算之间的持续时间timestamp and next_timestamp。然后在第三个查询中使用整个新查询作为子查询GROUP BY status并计算每个状态的总持续时间。

这是我在 Access 2007 中测试的版本...

SELECT
    sub2.status,
    Format(Sum(Nz(sub2.duration,0)), 'hh:nn:ss') AS SumOfduration
FROM
    (
        SELECT
            sub1.status,
            (sub1.next_timestamp - sub1.timestamp) AS duration
        FROM
            (
                SELECT
                    i.status,
                    i.timestamp,
                    (
                        SELECT Min([timestamp])
                        FROM importedData
                        WHERE [timestamp] > i.timestamp
                    ) AS next_timestamp
                FROM importedData AS i
                WHERE i.timestamp BETWEEN #2013-11-29 06:00:00#
                    AND #2013-11-29 18:00:00#
            ) AS sub1
    )  AS sub2
GROUP BY sub2.status;

如果遇到麻烦或需要修改它,请分解最里面的子查询,sub1,并自行测试。然后做同样的事情sub2。我怀疑你会想要改变WHERE子句使用参数而不是硬编码时间。

注意查询Format如果您的持续时间超过 24 小时,则表达式将不合适。这是一个即时窗口会话,它说明了问题......

' duration greater than one day:
? #2013-11-30 02:00# - #2013-11-29 01:00#
 1.04166666667152 
' this Format() makes the 25 hr. duration appear as 1 hr.:
? Format(#2013-11-30 02:00# - #2013-11-29 01:00#, "hh:nn:ss")
01:00:00

但是,如果您只处理 12 小时的数据。转变,这应该不是问题。请记住这一点,以防您需要分析跨度超过 24 小时的数据。

如果子查询不熟悉,请参阅 Allen Browne 的页面:子查询基础知识 http://allenbrowne.com/subquery-01.html。他在标题为“相关子查询”的部分中讨论了相关子查询获取另一条记录中的值.

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

计算查询中活动时间戳之间的时间差 的相关文章

  • 绘制持续时间图表

    从我在写这篇文章之前所做的阅读中 我相当确定我需要创建甘特图 但我不知道这是否是正确的路线 需要将开始时间和结束时间的数据作为一个单位绘制在 Excel 图表上 Y 轴为日期 X 轴为一天中的小时 开始时间和结束时间的格式是 Excel 数
  • Python 中的 datetime.fromtimestamp(os.path.getctime()) 是否为我提供了时区感知值?

    我在 Python 3 4 中使用这样的调用 x datetime fromtimestamp os path getctime somefilename y datetime fromtimestamp os path getmtime
  • Android 中 localTime 和 localDate 的替代类有哪些? [复制]

    这个问题在这里已经有答案了 我想使用从 android API 获得的长值 该值将日期返回为长值 表示为自纪元以来的毫秒数 我需要使用像 isBefore plusDays isAfter 这样的方法 Cursor managedCurso
  • 相对于时间求平均值

    我有以下带有日期时间和相应值的数据集 时间间隔为每10分钟一次 我需要以 15 分钟的间隔生成新行 例如 15 40 的值为 599 15 50 的值为 594 因此需要在两者之间生成一个新行 即 15 45 的平均值为 599 和 594
  • 如何将 RFC 2822 日期/时间解析为 Python 日期时间?

    我有 RFC 2822 指定的表格日期 比如说Fri 15 May 2009 17 58 28 0000 作为字符串 有没有一种快速和 或标准的方法来将其作为datetimePython 2 5 中的对象 我尝试生成 strptime 格式
  • 两个表中两个字段的总和

    我的数据库中有四个表 如下所示 表格发票 invcid customerid invoicedate tblInvc详细信息 ID invcid item itemprice itemquantity tblPay payid invcid
  • 如何通过C#在SQLite数据库中写入变量DateTime值?

    我很新C and SQLite数据库并有一些变量存储在 SQLite 数据库中TimeStamp 这是我的代码 DateTime now DateTime Now m dbConnection new SQLiteConnection Da
  • 按月/年间隔汇总每日数据

    我并不经常需要在 R 中处理日期 但我认为这相当简单 我有一列代表数据框中的日期 我只想创建一个新的数据框 使用日期按月 年总结第二列 最好的方法是什么 我想要第二个数据框 这样我就可以将它提供给绘图 您能提供的任何帮助将不胜感激 编辑 供
  • R - 根据另一个数据框查找每组的重叠日期

    我有一个数据框 其中包含多个雨量计的降雨测量值 如下例所示 gt rnfl ID date value 1 250 2000 03 01 5 37 2 250 2000 03 02 0 00 3 250 2000 03 03 2 94 4
  • 如何使用 Alter Table 在 Access 中创建小数字段?

    我想以编程方式在 MS Access 表中创建一个新列 我尝试过很多排列ALTER TABLE MyTable Add MyField DECIMAL 9 4 NULL 并得到 字段定义中的语法错误 我可以轻松创建一个数字字段Double类
  • 评估 df 每行中的日期时间函数是否落在另一个 df 中的日期时间范围内

    我是 python 新手 需要一些帮助来解决有关日期时间函数的问题 I have df a其中有一列标题为time 我正在尝试创建一个新专栏id在这个df a 我想要id根据时间是否包含在某个时间范围内来确定的列df b date 和 da
  • 获取给定日期的周数

    例子 DD MM YYYY 1 1 2009 should give 1 31 1 2009 should give 5 1 2 2009 should also give 5 Format 1 2 2009 ww 回报6 那么 怎样才能得
  • 使用 VBA 使用另一个表中的值更新访问表

    我在数据库中有两个表 表 1 和表 2 我正在尝试根据表 2 中的数据使用 VBA 代码更新表 1 Example Table 1 PartNo Price Description A 100 B 200 Bad C 300 Table 2
  • 更改 pandas 中多个日期时间列的时区信息

    有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地 任何时区 不是逐列进行吗 您可以有选择地将转换应用于所有日期时间列 首先 选择它们select dtypes https pandas pydata org pandas docs
  • 以编程方式将参数传递到访问报告中

    我有一个现有的 Access MDB 我正在向运行现有报表的现有表单添加一个命令按钮 所做的更改是 此按钮需要传入一个包含正在报告的记录 ID 的参数 当前报告在 MDB 中的每条记录上运行 我已经更改了报告运行的查询 以使用 ID 值参数
  • 如何在 Rails 中将随机日期时间四舍五入到小时开始?

    基本上我想获得去年内的随机日期时间 rand 1 year ago gt Sun 22 Sep 2013 18 37 44 UTC 00 00 example 但是我该如何指定或限制这个时间呢 例如 Sun 22 Sep 2013 18 0
  • 如何在数据库中保存未来(!)日期

    这个问题专门涉及未来的日期和时间 对于过去的值 UTC 无疑是首选 我想知道是否有人对拯救生命的 最佳 方法有建议futureMySQL 数据库中的日期和时间 或者就此而言一般来说 特别是在该列可以保存不同时区时间的情况下 考虑到时区规则可
  • 滞后分区相当于 MS Access

    我正在寻找 MS Access 中以下 Oracle 查询的等效项 我知道 Lag Over Partition by 功能在 MS Access 中不可用 但希望使用 MS Access 实现以下查询的相同功能 感谢任何输入 select
  • 在 Access DB 中对字符串进行排序

    我有一个带有字段版本的数据库 可能有许多记录具有相同的版本字符串 因此要提取我拥有的版本 我执行以下操作 SELECT DISTINCT tblSample Version FROM tblSample ORDER BY tblSample
  • Pandas DatetimeIndex 与 to_datetime 差异

    我正在尝试将 Pandas 系列纪元时间戳转换为人类可读的时间 至少有两种明显的方法可以做到这一点 pd DatetimeIndex and pd to datetime 它们似乎以完全不同的方式工作 In 1 import pandas

随机推荐

  • 使用 sha256 与用户 ID 进行哈希和加盐

    我将在我的网站上使用 sha256 以保护我的用户密码 并且作为盐 我正在考虑使用用户 ID int auto increment 这将是独特的 但不是很长和困难 并且公开 user php id 1 但它是否唯一很重要 对吧 hash s
  • 在 zf2 mvc 之外使用 Zend_Db zf2 模块

    我正在编写一个不基于 zf2 mvc 的 PHP 应用程序 我确实只想使用 Zend Db zf2 模块 我如何配置我的应用程序以了解 如何在需要的地方找到 Zend Db 相关的 PHP 文件 我使用 phyrus 下载了 zf2 Zen
  • 在 Swift 中创建线性重力场

    Swift 中似乎已弃用矢量方法的线性重力场 这种新语言中有一堆新的 SKFieldNode 但我似乎找不到一个类似于线性重力的 属性 direction 在 Swift 中甚至不可用 也许可以使用这个通用方法 customFieldWit
  • VBA 在 Excel 单元格填充时即时将字母转换为大写

    我正在寻找一个宏自动地发生事件时被激活 如果有人插入文本值或带有文本的值cell A1 一旦他按下输入并且单元格已填充if某处有一个小写它将转换为字母大写 然而 问题是它必须是自动的 而不必自己启动宏 在工作表代码区域中输入以下事件宏 Pr
  • Chrome 扩展程序更改 popup.html 文本

    我是一个完全的新手 我想从 p 标签中获取文本并将其放入另一个 p 标签中 这样当我单击我的扩展程序时 我会看到显示的两个文本 我做错了什么 以及我以后如何避免类似的错误 弹出 html p this is the text to be r
  • 以编程方式查找和替换 pdf 中的文本

    我正在尝试创建一个 Web 脚本 该脚本允许我更改已上传的 PDF 模板并重新输出它们 我已经尝试过 Zend 它允许我写入 PDF 但这意味着在某些空间中将 PDF 留空 这对于我的需要来说太原始 了 PDFFlip 也好不到哪去 我们需
  • 在 Windows 上链接 gRPC for Visual C++

    我正在尝试在 Visual C 项目中使用 gRPC 到目前为止我有 1 构建gRPC with vcpkg vcpkg install grpc x64 windows2 综合vcpgk带有视觉工作室的库 vcpkg integrate
  • 获取 lift 中的复选框和单选按钮值

    我正在尝试处理电梯框架中的表格 我的表单有一个复选框和单选按钮 我如何检查复选框是否被选中以及所选的单选按钮 我使用以下代码来获取其他元素值 风景
  • 像数组一样访问 json 对象中的元素[重复]

    这个问题在这里已经有答案了 可能的重复 我有一个嵌套数据结构 JSON 如何访问特定值 https stackoverflow com questions 11922383 i have a nested data structure js
  • 我的 Facebook 应用程序如何将消息发布到墙上?

    我已经知道如何代表 Facebook 用户使用图形 API 将某些内容发布到墙上 但现在我想以我的应用程序的名义发布一些内容 我正在尝试这样做 protected void btn submit Click object sender Ev
  • QWidget setGeometry 在不使用 QLayout 的情况下显示

    目标是在另一个 QWidget 中绘制一个 QWidget 子类 只给出坐标 include
  • 如何在命令行中执行 Julia 代码?

    我最近在 Julia 中转移了我的代码 我想知道如何在命令行中执行 Julia 代码 我知道 Julia 代码可以通过运行一次来 编译 但问题是我需要对集 群上的模拟模型进行参数扫描 我只能使用命令行 而不能使用 REPL 在集群上运行模拟
  • Twig 设置在下拉菜单中选择选项

    我目前正在从头开始编写 php mvc 并使用 twig 作为我的模板引擎 并且需要一些帮助来设置下拉列表中的选定选项 目前 在我的模型中 我有一个 sql 查询 它可以提取所有主管列表 并使用 twig for 循环将它们放入我的下拉列表
  • 通道适配器和消息网关模式有什么区别?

    无论我读了多少关于这两种模式的文章 我都看不出其中的区别 这是一个很好的问题 因为它们的相似之处在于它们都提供对消息系统的应用程序访问 我认为正是他们实现这一目标的方式使他们与众不同 通道适配器模式涉及如何从现有系统获取数据而不修改该系统
  • 在 Play 2.0 视图中转义 JavaScript 字符串?

    有没有一种简单的方法可以转义字符串以用作 Play 2 0 视图中的 JavaScript 字符串 例如 下面是一个简单的视图 它在 onclick 中创建带有确认框的链接 text String link Call message Str
  • 指数位数

    是否可以设置用于打印浮点数指数的位数 我想将其设置为3 现在 f 0 0000870927939438012 gt gt gt 14e f 8 70927939438012e 05 gt gt gt 0 14e f 8 709279e 00
  • 页面刷新而不是 Ajax Load 无需

    在表单提交时 我想加载一个带有 mysql 表的更新列表的 div 我将表单变量发送到 php 并将它们发布到 mysql 表中 同一页面显示完整的表数据 我想将数据加载到与表单相同的 div 标签中 因此 信息似乎正在表单上方加载 我的
  • 类型 '' 不能用作泛型类型或方法 '' 中的类型参数 'T'。没有从 '' 到 '' 的隐式引用转换

    我从数据库生成了 Linq 到实体模型并对其进行了修改 我制作了接口 public interface IValid byte Valid get set 并使一些生成的类继承该接口 我编写了通用类来访问数据库中的表 public List
  • 在绘图中向堆积条形图添加计数百分比

    Given the following chart created in plotly 我想添加每个块内 M 和 F 类别的每个计数的百分比值 用于生成该图的代码 arr np array Dog M Dog M Dog F Dog F C
  • 计算查询中活动时间戳之间的时间差

    我对 Access 相当陌生 无法解决 我希望 一个简单的问题 我想我可能是通过 Excel 护目镜来查看它 我有一个名为importedData我每天 并不奇怪 导入一个日志文件 该日志文件来自某些采矿设备上的简单数据记录应用程序 本质上