Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id 0BB23476078 for ; Fri, 17 Jan 2003 08:13:39 -0500 (EST) Received: from innoviatech.com (mailgate.innoviatech.com [193.195.86.89]) by postgresql.org (Postfix) with ESMTP id 77BF4476061 for ; Fri, 17 Jan 2003 08:13:37 -0500 (EST) Received: from [10.0.0.18] ([10.0.0.18] verified) by innoviatech.com (CommuniGate Pro SMTP 4.0.1) with ESMTP id 321179; Fri, 17 Jan 2003 13:16:10 +0000 User-Agent: Microsoft-Entourage/10.1.1.2418 Date: Fri, 17 Jan 2003 13:13:31 +0000 Subject: Re: sum(time) problem From: Julian Scarfe To: Oliver Vecernik , Message-ID: In-Reply-To: <3E27FF37.4060803@aon.at> Mime-version: 1.0 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200301/276 X-Sequence-Number: 11141 On 17/1/03 13:03, "Oliver Vecernik" wrote: > sport=# \d polar > Table "polar" > Column | Type | Modifiers > --------+--------------------------+----------- > ts | timestamp with time zone | not null > time | time without time zone | > sport | integer | default 1 > kcal | integer | > Primary key: polar_pkey > > sport=# select * from polar limit 3; > ts | time | sport | kcal > ------------------------+----------+-------+------ > 2001-05-17 19:47:31+02 | 00:28:25 | 1 | 388 > 2001-05-18 17:08:11+02 | 00:42:36 | 1 | 595 > 2001-05-19 13:41:43+02 | 00:51:39 | 1 | 737 > (3 rows) > > > I'd like to have the total amount of time: > > sport=# select sum(time) from polar where extract(year from ts)=2001; > ERROR: Unable to select an aggregate function sum(time without time zone) > > It seems I've chosen the wrong type. Or is there another solution? Correct diagnosis. You need the "interval" type, not the "time" type for your second field. Interval is a time difference between two timestamps, for example the time between the start and the finish of a race. If you check out the available aggregates with \da you'll find that you can sum an interval, but not a time. Julian Scarfe