gpt4 book ai didi

MySQL 时间平均值(以毫秒为单位)

转载 作者:行者123 更新时间:2023-11-29 15:36:14 27 4
gpt4 key购买 nike

创建和插入数据是

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
因此,添加 startTimeendTime 并除以 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
请参阅demo .
结果:

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

结果:

关于MySQL 时间平均值(以毫秒为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58216096/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com