You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL中计算各ID每日的离线状态时长?

问题:计算MySQL中ID的每日离线时长及优化方案

我有一个MySQL表,结构如下:

idpkidstatustimestamp
143857AVAILABLE2023-01-07 09:14:19
243857OFFLINE2023-01-07 18:14:19
343857AVAILABLE2023-01-07 23:14:19
443860AVAILABLE2023-01-08 09:14:19
543860OFFLINE2023-01-08 18:14:19
643860AVAILABLE2023-01-08 22:14:19
743857OFFLINE2023-01-08 23:14:19

该表用于追踪多个id的状态变更,我的目标是计算每个ID在24小时内的离线时长,计算规则为:从OFFLINE状态到下一个AVAILABLE状态的时间间隔。例如:

id -> 43857 在2023-01-07的离线时长为5小时。
id -> 43860 在2023-01-08的离线时长为4小时。

目前我通过Python实现此需求:选取24小时内的相关记录,计算后将离线时长存入另一张表。想了解以下内容:

  • 是否有更优方案,比如直接用SQL实现?
  • 优化MySQL数据存储方式的建议,以便简化计算。
  • 找到一个相关的Stack Overflow问题,希望有人能解释其中的查询语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:05:31