如何逐日从两列中获得总延迟?

时间:2016-08-24 04:53:09

标签: mysql delay

我在MySql数据库中有一个名为internet的表,其中有3列:id,dropped_at和dropped_to,如图所示

enter image description here

  

如何按日期查找总延迟组?

嗯,我已经尝试过,但它没有正常工作 这是我的MySql代码:

SELECT
    dropped_at,
    dropped_to,
    TIMEDIFF(dropped_to,dropped_at) AS delay
FROM
    internet
WHERE
    WEEKDAY(dropped_at) BETWEEN 0 AND 6 AND 
  WEEK (dropped_at) = WEEK (NOW())
GROUP BY CAST(dropped_to AS DATE)

1 个答案:

答案 0 :(得分:0)

如果您想要每天的总延迟,那么以下查询将起作用:

SELECT 
 DATE(dropped_at) AS date,
 SUM(TIMESTAMPDIFF(MINUTE,dropped_at,dropped_to)) AS delayInMinutes
FROM internet
GROUP BY date 
ORDER BY date;

注意:延迟时间为MINUTES。您可以根据需要将其更改为任何单位

如果您希望延迟采用 hh:mm:ss 格式,请尝试以下查询

SELECT 
 DATE(dropped_at) AS date,
 SEC_TO_TIME(SUM(TIMESTAMPDIFF(SECOND,dropped_at,dropped_to))) AS delay
FROM internet
GROUP BY date 
ORDER BY date;