You need to enable JavaScript to run this app. 如何用qSQL计算分组内同日期的滞后时间差值
优惠活动
大模型
产品
解决方案
定价
更多

如何用qSQL计算分组内同日期的滞后时间差值

qSQL时间差计算实现方案

该需求可以通过qSQL实现,具体实现逻辑和代码如下:

实现逻辑

  • 先对原表按ids、dates、times升序排序,确保同一id、同一日期下的事件按发生时间排序
  • 按ids和dates分组,对每组内的时间序列计算相邻差值
  • 将时间差转换为分钟单位,将每组第一条记录的空差值替换为0(单条记录的分组自动对应差值为0)

完整代码

示例表构造

ids: 1 1 1 1 1 2 2 2 2 2 
dates: 2021.03.10 2021.03.10 2021.03.10 2021.03.11 2021.03.11 2021.03.10 2021.03.11 2021.03.11 2021.03.11 2021.03.11
times: 12:00 12:01 12:03 12:04 12:05 13:01 13:05 13:06 13:12 13:15
t:([] ids:ids; dates:dates; times:times)

时间差查询代码

res: select ids, dates, times, deltaMinutes: 0^`minute$deltas times by ids, dates from `ids`dates`times xasc t

输出结果

ids dates      times deltaMinutes
---------------------------------
1   2021.03.10 12:00 0
1   2021.03.10 12:01 1
1   2021.03.10 12:03 2
1   2021.03.11 12:04 0
1   2021.03.11 12:05 1
2   2021.03.10 13:01 0
2   2021.03.11 13:05 0
2   2021.03.11 13:06 1
2   2021.03.11 13:12 6
2   2021.03.11 13:15 3

内容的提问来源于stack exchange,提问作者Demetri Pananos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 13:48:03