首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以php语言获取平均小时数

问以php语言获取平均小时数
EN

Stack Overflow用户
提问于 2020-01-19 00:19:04
回答 3查看 69关注 0票数 0

我有一个包含3列的表:id start_service stop_service

我已经使用下面的查询捕捉到了start_service和stop_service之间的时间差:

代码语言:javascript
复制
$query = "SELECT
  TIMEDIFF (stop_service, start_service)  AS tempo 
  FROM
  user_establishment ORDER BY id";

现在我需要将这个查询的所有结果相加,并除以记录的数量,从而获得所有服务的平均时间。

主要的问题是小时数的转换。

有人能帮帮我吗?

EN

回答 3

Stack Overflow用户

发布于 2020-01-19 00:45:10

下面的查询将用于获取时间差的平均值。在mysql查询中使用AVG()函数时,无需添加ORDER BY子句。它节省了执行的时间。

代码语言:javascript
复制
$query = "SELECT AVG(TIMEDIFF(stop_service, start_service)) AS tempo FROM user_establishment";
票数 0
EN

Stack Overflow用户

发布于 2020-01-19 01:54:40

如果您需要在数小时内获得结果,请尝试此方法。如果你需要在几秒钟内完成除法,你可以省略掉除法3600 (这就是我会做的,然后在我的代码中操作它)。

代码语言:javascript
复制
SELECT
AVG(TIME_TO_SEC(TIMEDIFF(stop_service, start_service)))/3600  AS tempo 
FROM
user_establishment;

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2020-01-19 03:04:18

如果您希望以小时为单位的平均时间差不超过两个小数点,则可以尝试以下查询。

代码语言:javascript
复制
select ROUND(AVG(TIME_TO_SEC(tempo)/3600), 2) as avg_time
from (
    select TIMEDIFF(stop_service, start_service) as tempo
    from user_establishment
) as timeline

您可以根据需要修改平均时间差。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59802451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档