From: | "Aaron Bono" <postgresql(at)aranya(dot)com> |
---|---|
To: | "roopa perumalraja" <roopabenzer(at)yahoo(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Add calculated fields from one table to other table |
Date: | 2006-10-26 01:59:51 |
Message-ID: | bf05e51c0610251859j38c53873la0bfdc404d3b82d2@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On 10/25/06, roopa perumalraja <roopabenzer(at)yahoo(dot)com> wrote:
>
> Hi
>
> I have two tables. Tick table has fields like ticker, time, price & volume
> and Timeseries table has fields like ticker, time, avg_price, avg_volume.
>
> The time field in Timeseries table is different from time in tick table,
> its the timeseries for every minute. Now I want to calculate the average
> price & volume from tick table for each ticker and for every minute and add
> those fields to timeseries table. Can anyone please help me out with the sql
> query.
>
> Note: The ticker in the tick table also has duplicate values, so i am not
> able to create relation between two tables.
>
Will this help:
select
ticker,
date_trunc('minute', time),
ave(price),
ave(volume)
from tick
group by
ticker,
date_trunc('minute', time)
You say you want to "add" these values to the Timeseries table? You mean
insert them? If so do this:
insert into timeseries (
ticker, time, avg_price, avg_volume
)
select
ticker,
date_trunc('minute', time),
ave(price),
ave(volume)
from tick
group by
ticker,
date_trunc('minute', time)
Of course if you do this repeatedly, you will start gathering duplicates in
the timeseries so you may want to do one insert and one update:
insert into timeseries (
ticker, time, avg_price, avg_volume
)
select
tick.ticker,
date_trunc('minute', tick.time),
ave(tick.price),
ave(tick.volume)
from tick
left outer join timeseries on (
-- Not sure your join since you said time is not the same between ticke
and timeseries
date_trunc('minute', tick.time) = timeseries.tick
and tick.ticker = timeseries.ticker
)
group by
ticker,
date_trunc('minute', time)
having timeseries.ticker is null
... I will leave the update as an exercise ;)
==================================================================
Aaron Bono
Aranya Software Technologies, Inc.
http://www.aranya.com
http://codeelixir.com
==================================================================
From | Date | Subject | |
---|---|---|---|
Next Message | chester c young | 2006-10-26 15:29:00 | Re: Add calculated fields from one table to other table |
Previous Message | roopa perumalraja | 2006-10-26 01:07:36 | Add calculated fields from one table to other table |