time()函数返回null

abithluo  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(325)

这个问题在这里已经有了答案

mysql平均时间列(1个答案)
11个月前关门了。
我有一个表,它有一个“duration”列,以时间格式存储duration,即数据类型是“time”。当我根据某个分组条件计算此“持续时间”列的平均值时,它会给出以下输出:
以下是查询:

select avg(Cactive_duration) as 'duration'
from table_name
group by column_name;


但当我尝试将它们转换为时间格式时,输出如下:
以下是查询:

select time(avg(Cactive_duration)) as 'duration'
from table_name
group by column_name;


非常感谢您的帮助。数据库是mysql。

cpjpxq1n

cpjpxq1n1#

简单的回答是:mysql不能聚合时间。
最好的办法是,mysql通过提出一个例外来承认这一点。相反,它将时间转换成某个数字(似乎是内部的表示形式)并处理它,结果得到一个没有人想要的数字。
将时间转换为秒,聚合这些时间,然后再转换回时间:

select sec_to_time(avg(time_to_sec(cactive_duration))) as duration
from table_name
group by column_name;

相关问题