【问题标题】:PHP How to SUM time data from MysqlPHP如何从Mysql求和时间数据
【发布时间】:2014-03-03 04:38:55
【问题描述】:

我想对每辆车的总时间求和

Date        End Time
BMW120
2014-03-03  01:53:48
2014-03-03  01:54:28
2014-03-03  01:58:08
2014-03-03  01:59:08
2014-03-03  02:00:08
Mercy123
2014-03-03  01:55:08
2014-03-03  01:55:28
2014-03-03  01:55:48
2014-03-03  01:58:28
Mitsubishi
2014-03-03  01:54:08
2014-03-03  01:54:48
2014-03-03  01:56:08
2014-03-03  01:56:28

我将车辆修改为在 foreach 循环中仅显示一次 但现在如何求和总时间每个车辆 ID 和每个日期 我应该存储在数组中,但如何存储?

【问题讨论】:

  • 你能说得更具体点吗?使用哪个数据库?
  • 您能否展示一些您尝试过和失败的代码片段,以便我们准确了解您要添加的内容
  • custom_id 在哪里?你有这个数组吗?
  • 哪个数据库?是mysql,,, 还没排好表之前就修好了

标签: php


【解决方案1】:

您可以直接从数据库中获取总数。你可以用这样的东西来找出总和为秒

SELECT custom_id, Date, SUM(TIME_TO_SEC(EndTime)) AS totalTime
FROM your_table GROUP BY Date, custom_id

或者您可以使用它以 HH:MM:SS 格式获取它

SELECT custom_id, Date, SEC_TO_TIME(SUM(TIME_TO_SEC(EndTime))) AS totalTime
FROM your_table GROUP BY Date, custom_id

【讨论】:

  • 你的mysql版本是多少?它在 5.0.96 对我有用。
  • 否,因为我有任何其他组 SELECT latitude, longitude, COUNT(latitude) as lat, MIN(time), MAX(time) ,TIMEDIFF(MAX(time),MIN(time)) AS持续时间, v.name, SEC_TO_TIME(SUM(TIME_TO_SEC(time))) 总计, mobile_address, MAX(create_at) FROM tcm_packet p INNER JOIN tcm_vehicles v ON p.mobile_address = v.gps_mobile_address GROUP by latitude,longitude, mobile_address , DATE(create_at) ORDER BY DATE(create_at),mobile_address DESC;
  • 我看到你有一个非常复杂的查询......抱歉,我无法弄清楚你在这里要做什么。我提出的查询是基于您已经有时间并且想要总结它们的事实。我想这对你不起作用。
猜你喜欢
  • 1970-01-01
  • 2015-07-27
  • 2016-02-13
  • 2011-07-08
  • 2019-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-10
相关资源
最近更新 更多