2010-02-07 13 views
30

WYBIERZ avg (duration) jako średnią z login;Średnia kolumna Mysql na czas?

Typ danych na czas jest „czas”, więc moja wartość jest tak: 00:00:14, 00:20:23 etc

I wykonanie kwerendy daje mi: 2725,78947368421

Co jest że? Chcę w formacie czasu, czy mysql może zrobić średnią na czas?

Odpowiedz

65

Spróbuj tego: dane

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

test:

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

Rezultat:

00:07:09 
+0

dodatkowo można podzielić wyniki time_to_sec przez 60, aby uzyskać wynik numeryczny. –

+2

Czasami proste rzeczy mogą przynieść radość w życiu. @ Mark Byers. Dzięki za to!!! Działa absolutnie dobrze. :) – MontyPython

+1

dlaczego moja ma wynik = 00: 02: 54,6363, co to jest 6363? jak to wykluczyć? – Hafidh