MySQL AVG以毫秒为单位的时间

问题描述 投票:0回答:1

创建和插入数据是>

CREATE TABLE IF NOT EXISTS `testTime` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `startTime` time(3) DEFAULT NULL,
  `endTime` time(3) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=40910 DEFAULT CHARSET=utf8;

INSERT INTO `testTime` (`startTime`, `endTime`) VALUES
('00:00:37.185', '00:00:32.141'),
('00:00:41.229', '00:00:32.255'),
('00:00:37.278', '00:00:23.548'),
('00:00:37.205', '00:00:28.479'),
('00:00:41.343', '00:00:25.354'),
('00:00:38.703', '00:00:38.645'),
('00:00:37.990', '00:00:32.182'),
('00:00:37.858', '00:00:36.589');

我可以求和,求和,但在平均方面遇到问题。我将使用AVG函数,因为有时我会使用几个时间列进行计算。我尝试:

SELECT
id,
SEC_TO_TIME(startTime+endTime) TotalSum,
SEC_TO_TIME(startTime - endTime) Diff,
TIME_TO_SEC(AVG(SEC_TO_TIME(startTime + endTime))) AverageT            
FROM testTime
Group by id;

我需要以'00:01:09.326'格式返回的值。使用Sum,diff可以很好地工作,但不知道如何使用平均值。

AVG结果应为:

00:00:34.663
00:00:36.742
00:00:30.413
00:00:32.842
00:00:33.348
00:00:38.674
00:00:35.086
00:00:37.223

谢谢

如果不存在testTime`,创建和插入数据就是创建表(`id` int(11)NOT NULL AUTO_INCREMENT,`startTime` time(3)DEFAULT NULL,`endTime` time(3)DEFAULT NULL,PRIMARY KEY (`id`)...

mysql time average
1个回答
0
投票

您不需要AVG(),只需将其相加并除以2:

© www.soinside.com 2019 - 2024. All rights reserved.