如何返回sql时间字段的平均值

Mar*_*rth 7 mysql sql

我有一个带有时间字段的SQL数据库.

运行时间字段包含02:06:24, 00:01:12等...

我试图使用HH:MM:SS格式返回此字段的平均值;

SELECT AVG( runtime )
FROM `result`
Run Code Online (Sandbox Code Playgroud)

这返回8312.2342729307我认为是以秒为单位的平均值,但是当转换为分钟时这是不正确的.

我能够以正确的格式返回MIN和MAX运行时但是无法获得AVG,我该怎么做?

如果失败,那么选择中间元素作为中位数平均值?

Bha*_*hah 2

您不能对 DATETIME/TIME 使用 AVG() 函数

我将 DATETIME 转换为 DECIMAL( 18, 6 ),这似乎产生了合理的(+-几毫秒)精确结果。

SELECT cast(CAST( AVG( CAST( runtime AS DECIMAL( 18, 6 ) ) ) AS DATETIME ) as time)
FROM dbo.result;
Run Code Online (Sandbox Code Playgroud)