У меня проблемы со средним временем расчета. У меня есть таблица с большим количеством записей, структура таблицы - это идентификатор пользователя, время начала и окончания работы (если вы хотите, вы можете скачать скрипт таблицы здесь ), и мне нужно получить эффективную работу среднее время каждого пользователя, поэтому я go, как это в среднем:
select iduser, sec_to_time(avg(timestampdiff(second, begin, end)))
from test
group by iduser;
Пока все хорошо, он возвращает:
USER1 00:25:55.9327
USER2 05:47:44.8713
USER3 03:13:43.4724
Однако проблема заключается в том, когда я попытайтесь вычислить среднее значение для всех пользователей (без группировки):
select sec_to_time(avg(timestampdiff(second,begin, end))),avg(timestampdiff(second,begin, end))
from test;
возвращает «03: 26: 18.9014», но, согласно моим расчетам, должно возвращаться 03: 09: 07.333. Я проверил с постоянными значениями и тестом Excel
select sec_to_time((time_to_sec("00:25:55.9327")+time_to_sec("05:47:44.8713")+time_to_sec("3:13:43.4724"))/3);
Пока я не понимаю, почему он возвращает '03: 26: 18.9014 ', это неточно согласно другим вычислениям. У кого-нибудь есть идея, почему это происходит?