mam tabele
CREATE TABLE table2 ( id varchar(20), start datetime, stop datetime ); INSERT INTO table2 (id, start, stop) VALUES ( 1, '2014-10-13 20:24:49', '2014-10-15 13:56:08'), ( 1, '2014-10-15 13:57:52', '2014-10-15 14:02:29'), ( 1, '2014-10-20 19:41:23', '2014-10-21 10:34:34'), ( 1, '2014-10-21 10:37:33', '2014-10-22 10:54:24'), ( 1, '2014-10-22 09:15:33', '2014-10-22 12:12:11')
Tyle napisałem samemu
SELECT q.id, q.start, q.stop, TIME_TO_SEC(TIMEDIFF(q.stop, q.start)) sec FROM table2 q WHERE q.id = '1'
Teraz by wystarczyło zsumować kolumnę SEC ale zauważ że w bazie są dwa wiersze które na siebie nachodzą
( 1, '2014-10-21 10:37:33', '2014-10-22 10:54:24'), ( 1, '2014-10-22 09:15:33', '2014-10-22 12:12:11')
i dla nich sumaryczny czas wyjdzie błędny gdyż powinien być wyliczony tylko raz dla start = 2014-10-21 10:37:33 i stop = 2014-10-22 12:12:11 dla tych dwóch rekordów a nie dla każdego z osobna.
Oczywiście czasy rekordów które na siebie nie nachodzą także powinny być zliczone..
mam nadzieję że opisałęm to w miarę prosto...