Mysql Среднее по столбцу времени?

SELECT avg(длительность) как среднее значение FROM login;

Тип данных для длительности — «время», поэтому мое значение выглядит так: 00:00:14, 00:20:23 и т. д.

Я выполняю запрос, который он мне дает: 2725.78947368421

Что это? Я хочу в формате времени, может ли mysql усреднить время??


person mysqllearner    schedule 07.02.2010    source источник


Ответы (1)


Попробуй это:

SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(`login`))) FROM Table1;

Данные испытаний:

CREATE TABLE `login` (duration TIME NOT NULL);
INSERT INTO `login` (duration) VALUES
('00:00:20'),
('00:01:10'),
('00:20:15'),
('00:06:50');

Результат:

00:07:09
person Mark Byers    schedule 07.02.2010
comment
кроме того, вы можете разделить результаты time_to_sec на 60, чтобы получить числовой результат. - person John M; 16.03.2010
comment
Иногда простые вещи могут принести радость в жизни. @Марк Байерс. Спасибо за это!!! Работает абсолютно нормально. :) - person MontyPython; 04.06.2015
comment
почему у меня результат = 00:02:54.6363, что такое 6363? как это исключить? - person Hafidh; 07.02.2016
comment
У меня есть значения 01:00:00 и 22:00:00 И по этому запросу среднее значение приходит 11:30:00. Что неправильно. Значит, должно прийти 23:30. - person Apoorva Shah; 31.10.2017
comment
@ApoorvaShah вам нужно сначала добавить 86400 секунд к 01:00:00 - person Paul Chris Jones; 12.02.2020