创建和插入数据是>
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`)...
您不需要AVG()
,只需将其相加并除以2: