Сумма времени

Semen

Семён
Сумма времени

Есть таблица с полем типа Time(00:00:00)
надо найти сумму времени этих полей

например есть
00:42:35
00:47:10

PHP:
SELECT SUM(time) from table
получаю 9130007

PHP:
SELECT SUM(TIME_TO_SEC(time)) FROM table
так получаю сумму в секундах 4200487

Можно ли получить сумму времени в формате 00:00:00 только запросом SQL?
 

Semen

Семён
PHP:
SELECT SUM(TIME_TO_SEC(time)) FROM table
так получаю сумму в секундах 4200487

эта сумма неправильная должно быть 5385
 

Semen

Семён
Автор оригинала: ТопольМ
select SEC_TO_TIME(SUM(TIME_TO_SEC(time))) FROM table
Как писал выше осталось проблема с SUM(TIME_TO_SEC(time)), поэтому выдает неправильную сумму времени 1166:48:07 вместо 01:29:45
 

Panchous

Павел
[sql]CREATE TABLE `test` (
`t` time NOT NULL default '00:00:00'
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 COMMENT='time';

INSERT INTO `test` ( `t` )
VALUES (
'00:42:35'
), (
'00:47:10'
);

select SEC_TO_TIME(SUM(TIME_TO_SEC(t))) FROM test;
[/sql]
>>> 01:29:45
 

Semen

Семён
Автор оригинала: Panchous
[sql]CREATE TABLE `test` (
`t` time NOT NULL default '00:00:00'
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 COMMENT='time';

INSERT INTO `test` ( `t` )
VALUES (
'00:42:35'
), (
'00:47:10'
);

select SEC_TO_TIME(SUM(TIME_TO_SEC(t))) FROM test;
[/sql]
>>> 01:29:45
Спасибо это работает, я просто неправильно использовал LIMIT
 

Semen

Семён
PHP:
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( t ) ) ) FROM test LIMIT 2;
т.е. мне нужно было сумму времени не всех записей таблицы
сейчас я сделал так
PHP:
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( t ) ) ) FROM test WHERE nomer=21
в таблице есть ещё поле nomer
а с LIMITом для суммы например первых 2 значений как сделать не знаю
 
Сверху