Hi, I have a table like this:
test=# select * from status_log ; id | status | t_start | t_end ----+--------+------------------------+------------------------ 1 | 1 | 2006-01-20 23:00:00+01 | 2006-01-21 06:00:00+01 1 | 1 | 2006-01-21 06:00:00+01 | 2006-01-21 22:00:00+01 1 | 2 | 2006-01-21 22:00:00+01 | 2006-01-22 05:00:00+01 1 | 1 | 2006-01-22 05:00:00+01 | 2006-01-22 15:00:00+01 1 | 2 | 2006-01-22 15:00:00+01 | 2006-01-23 02:00:00+01 (5 rows) Now i need for a particular intervall (one day or two days, entires days) the accumulated time for id=X and status=Y. Exampel: id=1, status=1, date=2006-01-21: from 00:00:00 - 06:00:00 and 06:00:00 - 22:00:00 ===> 6 hours + 16 hours = 22 hours id=1, status=2, date=2006-01-21: from 22:00:00 - 23:59:59 ===> 2 hours I need also this for a week or month. How can i calculate this? Thanks very much for help. -- Andreas Kretschmer (Kontakt: siehe Header) Heynitz: 035242/47215, D1: 0160/7141639 GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net === Schollglas Unternehmensgruppe === ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq