Getting current and average on a single row - Mailing list pgsql-general

From Mark Morgan Lloyd
Subject Getting current and average on a single row
Date
Msg-id icikmc$c8t$1@pye-srv-01.telemetry.co.uk
Whole thread Raw
Responses Re: Getting current and average on a single row  (Adrian Klaver <adrian.klaver@gmail.com>)
List pgsql-general
What is best practice when extracting both current and average from a
table? Demonstration table here contains data from a cheap weather station.

I can obviously get the current reading like this:

select temp_out, dewpoint
from weather
where datetime between (now() - '10 minutes'::interval) and now()
order by datetime desc
limit 1;

and I can get averages like this:

select avg(temp_out) as avg_temp_out, avg(dewpoint) as avg_dewpoint
from weather
where datetime between (now() - '45 minutes'::interval) and now();

In both cases there are a dozen or so columns in total. How are these
best merged to yield a single row? Some form of join, or window functions?

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

pgsql-general by date:

Previous
From: Dmitriy Igrishin
Date:
Subject: Re: alter table add column - specify where the column will go?
Next
From: Grzegorz Jaśkiewicz
Date:
Subject: Re: alter table add column - specify where the column will go?