Мне интересно, как выразить среднее время в формате «MM: SS» .
У меня есть таблица с текстом.
myTable1
09:37
10:17
...
Если я изменил myTable на тип TIME, который возвращает «час: минута: 00», а не «MM: SS»
myTable2
09:37:00
10:17:00
Итак, я нашел
avg(time_format(sec_to_time(round(time_to_sec(TPP)/60, 0)), '%i:%s'))
Он возвращается
myTable3
09:37
10:17
моя конечная цель - усреднить эти строки
Когда я использую avg () в myTable1,3, он возвращает 9,5000.
, как я и ожидал, возвращает '09: 57 '
Мои вопросы возникли из-за того, что в среднем myTable1 должен иметь формат "MM: SS".






Как насчет добавления часового компонента, а не деления на 60?
time_format(sec_to_time(avg(time_to_sec(concat('00:', TPP)
)
)
), '%i:%s'
)
avg() также следует вызывать для числового значения секунд перед преобразованием обратно в формат времени.
Вы хотите сначала преобразовать свою строку во время, а затем в секунды, чтобы вычислить среднее значение. Затем преобразуйте обратно в строку с желаемым форматом:
TIME_FORMAT(SEC_TO_TIME(
AVG(TIME_TO_SEC(STR_TO_DATE(TPP, '%h:%i')))
), '%h:%i')
Выглядит хорошо!! Я сейчас на улице, сделаю твое как можно скорее Спасибо!