gpt4 book ai didi

MySQL SUM 大 TIMEDIFF

转载 作者:行者123 更新时间:2023-11-29 17:07:57 34 4
gpt4 key购买 nike

我有一个 SQL 表事件,其中包含两个名为started_at、ended_at 的字段,每个字段都是一个日期时间列和一个plane_id 字段。

我们将间隔“end_at -start_at”称为持续时间。

我的目标是,对于每个plane_id,获取特定时间段内每个事件的间隔总和。

基本上,它会是这样的

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(ended_at, started_at))))
FROM activity
WHERE started_at > :started_at
AND ended_at < :ended_at
GROUP BY airplane_id

问题是我的处理时间可能超过最大时间长度(大约 838 小时),我正在寻找有效的解决方法。

在放弃并只是提取原始数据并用 PHP 处理它们之前,我希望一些 SQL 天才可以拯救我。

最诚挚的问候,

最佳答案

如何将结果表示为小数小时或天数,而不是时间?

SELECT SUM(TIME_TO_SEC(TIMEDIFF(ended_at, started_at))) / (60 * 60) as fractional_hours

或者:

SELECT SUM(TIME_TO_SEC(TIMEDIFF(ended_at, started_at))) / (24 * 60 * 60) as fractional_hours

就我个人而言,我认为在如此长的时间间隔内使用时间格式没有太大值(value)。

关于MySQL SUM 大 TIMEDIFF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52002868/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com