MySQL平均时间(毫秒)

MySQL平均时间(毫秒),mysql,time,average,Mysql,Time,Average,创建和插入数据是 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 INT

创建和插入数据是

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
谢谢

如果您想要列值的平均值,您应该使用
AVG()
,但是从您的预期结果中,我发现您想要的是每行的
startTime
endTime
的平均值。
因此,添加
startTime
endTime
并除以
2

SELECT
  id,
  SEC_TO_TIME(startTime + endTime) TotalSum,
  SEC_TO_TIME(startTime - endTime) Diff,
  SEC_TO_TIME((startTime + endTime) / 2) AverageT            
FROM testTime
由于
Id
是唯一的,因此我不认为需要
GROUP BY Id

请参阅。
结果:


结果:

像这样尝试
秒到秒时间(时间到秒(平均值)(秒到秒时间(开始时间+结束时间)))平均值
一点也不,因为它返回00:01:09,可能会混淆1分9秒。初始格式为00:00:37.185,预期返回值应为00:00:01.090为什么单个值的平均值会不同?如果您要通过添加开始和结束时间来检查行,那么总和将是平均值,对吗?对不起,忘记列的名称,我应该将它们称为s1、s2。问题是我找不到将avg与时间(3)字段一起使用的方法。请添加您的预期结果。我将使用avg函数,但您的解决方案简单明了。谢谢
| id  | TotalSum     | Diff         | AverageT        |
| --- | ------------ | ------------ | --------------- |
| 1   | 00:01:09.326 | 00:00:05.044 | 00:00:34.663000 |
| 2   | 00:01:13.484 | 00:00:08.974 | 00:00:36.742000 |
| 3   | 00:01:00.826 | 00:00:13.730 | 00:00:30.413000 |
| 4   | 00:01:05.684 | 00:00:08.726 | 00:00:32.842000 |
| 5   | 00:01:06.697 | 00:00:15.989 | 00:00:33.348500 |
| 6   | 00:01:17.348 | 00:00:00.058 | 00:00:38.674000 |
| 7   | 00:01:10.172 | 00:00:05.808 | 00:00:35.086000 |
| 8   | 00:01:14.447 | 00:00:01.269 | 00:00:37.223500 |