avg(interval)

From: "Jeremiah Elliott" <geek00(at)gmail(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: avg(interval)
Date: 2006-06-26 21:22:11
Message-ID: 17eca7f50606261422m77395b89ufb713720defb8b42@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I am getting some really strange query output. I am trying to average an
interval. The problem is that the interval average is sometimes
returning more than 24 hours for the average.

query:
select avg(scan_date - backflush_date) as time_diff,
substring(pt_article, 1, 5) as clan, sum(qty) as units
from carton_master
join outbound on master_number = master_id
join pt_mstr on product = pt_part where
scan_date::date between '2006-06-01'::date and '2006-07-01'::date
and substring(pt_article, 1, 5) = '*2420'
group by clan

output:
4 days 33:48:13.994333 *2420 25

however if i don't average them here is what i get:
query:
select (scan_date - backflush_date) as time_diff,
substring(pt_article, 1, 5) as clan
from carton_master
join outbound on master_number = master_id
join pt_mstr on product = pt_part where
scan_date::date between '2006-06-01'::date and '2006-07-01'::date
and substring(pt_article, 1, 5) = '*2420'

output:
"7 days 22:24:50.62311";"*2420"
"9 days 22:21:02.683393";"*2420"
"23:21:35.458459";"*2420"
"4 days 22:47:41.749756";"*2420"
"3 days 06:05:59.456947";"*2420"

which should average to just over nine days -
Assuming I am not missing something huge here. I tend to think its a bug
in avg(interval) postgres function.

I am running postgres 8.1.3 on 32bit suse

Thanks
Jeremiah Elliott

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2006-06-26 21:37:03 Re: avg(interval)
Previous Message Andrew Sullivan 2006-06-26 18:24:45 Re: Fwd: Start up question about triggers