> I'm currently doing this:
>   SELECT symbol, date_trunc('minute', posted),
>          min(price), max(price), avg(price)
>   FROM trade
>   GROUP BY symbol, date_trunc('minute', posted);
> to get a list of minute-averages of trade prices.  I get the feeling
> that this is bad form, that I should be doing this some other way.  Is
> that the case?

Looks OK to me. If you are doing this *a lot* (i.e. many more queries
than inserts), then you might want to set up another column which
contains date_trunc('minute',posted) to avoid the calculation. Something
like

  create table trade (
    symbol text,
    posted timestamp,
    price integer,
    mpost  timestamp
  )

then define a rule to update mpost when posted gets set (haven't done
that part).

                    - Thomas

Reply via email to