php - 如何获得日期差异的总和?

标签 php mysql

我的表中的数据是这样的

ds_start_time -> 09:00:00 , ds_end_time-> 09:30:00
ds_start_time -> 09:00:00 , ds_end_time-> 10:30:00
ds_start_time -> 10:00:00 , ds_end_time-> 10:30:00
ds_start_time -> 09:30:00 , ds_end_time-> 10:30:00

我想要日期的差异和差异的总和 为此我把它放在查询中

SELECT SUM(TIMEDIFF(ds_end_time,ds_start_time)) 
FROM www
WHERE abc='123'........ 

但最后我得到了 2058800.000000 。从这个我怎么能得到总时分和秒。 或者任何其他方法。请建议。

最佳答案

如果您知道如何在 MySQL 中执行此操作很容易:

SELECT SEC_TO_TIME(SUM
    (TIME_TO_SEC(ds_end_time) - TIME_TO_SEC(ds_start_time))
                 ) AS timediff     
 FROM www 
 WHERE abc = '123'

请注意,如果有很多行都包含 abc = '123',那么您可能会得到重复计数,因为您可能想尝试:

SELECT SEC_TO_TIME(
    (MAX(TIME_TO_SEC(ds_end_time)) - MIN(TIME_TO_SEC(ds_start_time)))
                 ) AS timediff     
 FROM www 
 WHERE abc = '123'

关于php - 如何获得日期差异的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6693603/

相关文章:

php - 填充的下拉列表如何获取值?

php - 当检测到错误时重新启动 while 循环的当前操作

PHP/SQL 数据库查询的良好实践和安全性

mysql - 无法在使用 Laravel 迁移创建的 PHPMyAdmin 中看到外键

php - 如何在mysql中连接两个表并使用php显示它?

php - Laravel 5.3 抛出错误表单请求

PHP:匹配完整匹配括号的正则表达式?

mysql - 如何建立数据库与数据库之间的关系?

c# - 输入数据库的日期全为零,但应用程序显示正确的日期?

php - 使用 onesignal 向特定用户发送通知