【问题标题】:MySQL time diff grouped by dayMySQL 时间差异按天分组
【发布时间】:2014-05-02 19:30:21
【问题描述】:

我有一个表,我试图从中提取按天分组的总时间差异信息。我真的不知道这是否可能 表列:mode_type、start_time。 此表中存在员工每次启动或停止计时器的记录。 mode_type = 1 表示启动,mode_type = 0 表示停止。

我想返回过去 30 天内每天使用的秒数的总和。 例如:

date, seconds_used
02/04/2014, 25
03/04/2014, 12415
04/04/2014, 925

目前我可以返回每个 mode_type 和 date 使用的秒数列表,但这需要稍后在 PHP 中计算。

SELECT
      mode_type,
      Sum(Unix_Timestamp(start_time)) AS time,
      start_time
    FROM
      activations
    WHERE
      start_time < Date(Now() + INTERVAL 1 MONTH)
    GROUP BY
      mode_type, Day(start_time)
    ORDER BY
      start_time

我被卡住了...这可能吗,还是我需要恢复计算 PHP 发布请求中的差异? 提前致谢。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    你可以试试这个吗:

    SELECT  DATE(start_time) AS startdate, TIME_TO_SEC(TIMEDIFF(NOW(),start_time)) AS secs
    FROM    activations
    GROUP BY
            startdate
    

    【讨论】:

    • 感谢您的建议。这给了我从现在到开始时间的差异,但我需要知道从 end_time 到 start_time 的差异。开始时间定义为 mode_type = 1 一天的激活总和。因此,结束时间定义为 mode_type = 0 一天的激活总和。谢谢
    • NOW() 是这里的结束时间
    • 我明白了。不幸的是,需要计算开始和结束时间。它们是各行的总和。开始时间定义为 mode_type = 1 一天的激活总和。因此,结束时间定义为 mode_type = 0 一天的激活总和。谢谢
    猜你喜欢
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多