我有一个带有时间字段的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,我该怎么做?
如果失败,那么选择中间元素作为中位数平均值?
您不能对 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)
| 归档时间: |
|
| 查看次数: |
917 次 |
| 最近记录: |