У меня проблема с временем AVG (мм: сс.ххх) с MySql. Мой код:
CREATE TABLE `tempFast` (
`posicion` int(11) NOT NULL,
`lapTime` time(3) NOT NULL,
`id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `tempFast` (`posicion`, `lapTime`, `id`) VALUES
(1, '00:01:50.964', 1),
(1, '00:01:51.080', 2),
(1, '00:01:52.006', 3),
(1, '00:02:04.749', 4),
(1, '00:01:50.647', 5),
(1, '00:01:50.864', 6),
(1, '00:01:51.626', 7),
(1, '00:01:59.797', 8),
(2, '00:01:50.828', 20),
(2, '00:01:58.812', 21),
(2, '00:01:51.550', 22),
(2, '00:01:51.706', 23),
(2, '00:02:06.219', 24),
(2, '00:02:06.164', 25),
(2, '00:01:50.908', 26),
(2, '00:01:50.922', 27),
(2, '00:01:54.173', 28),
(2, '00:01:51.126', 29),
(2, '00:01:51.607', 30);
Тогда у меня будет средняя группа времени по положению. Это означает, что позиция 1 должна быть 01: 53,967 , а позиция 2 должна быть 01: 54,910.
Я пытаюсь получить следующий запрос:
SELECT
posicion,
count(*) as cantidad,
SEC_TO_TIME(AVG(TIME_TO_SEC(laptime))) AvgLapTime
FROM `tempFast`
group by posicion
Возвращает следующий плохой результат:
posicion cantidad AvgLapTime
1 8 00:01:53.3750
2 11 00:01:54.3636
Как я могу использовать Avg и получить хороший результат? Спасибо.
На https://www.db -fiddle.com / f / myTK8u1M72P5Z8NffDjPtV / 0 вы получили код для попытки
*** Uueerdo, наконец-тоВаши показания показывают мне способ справиться с этим. С SEC_TO_TIME ((AVG (TIME_TO_SEC (время круга)) * 1000000 + МИКРОСЕКОНД (время круга)) / 1000000)