87 lines
2.5 KiB
SQL
87 lines
2.5 KiB
SQL
-- vergleiche Tagesdurchschnitt und 12-Uhr-Durchschnitt
|
|
with
|
|
twelve_avg as (
|
|
select
|
|
date_trunc('day', time)::date as day,
|
|
avg(temperature)::numeric(10,0) as temperature
|
|
from room_climate_measurement_t
|
|
where
|
|
category = 'Outdoor' and
|
|
location = 'Outdoor' and
|
|
extract('hour' from time) = 12 and
|
|
extract('year' from time) = 2023
|
|
group by day
|
|
order by day
|
|
),
|
|
day_avg as (
|
|
select
|
|
date_trunc('day', time)::date as day,
|
|
avg(temperature)::numeric(10,0) as temperature
|
|
from room_climate_measurement_t
|
|
where
|
|
category = 'Outdoor' and
|
|
location = 'Outdoor' and
|
|
extract('year' from time) = 2023
|
|
group by day
|
|
order by day
|
|
)
|
|
select
|
|
d.day as day,
|
|
d.temperature as day_avg_temperature,
|
|
t.temperature as twelve_avg_temperature,
|
|
(d.temperature - t.temperature) as swing
|
|
from day_avg d,
|
|
twelve_avg t
|
|
where d.day = t.day;
|
|
|
|
|
|
|
|
-- zaehle Verteilung bei 12-Uhr-Durchschnitt
|
|
with
|
|
day_avg as (
|
|
select
|
|
date_trunc('day', time)::date as day,
|
|
avg(temperature) as temperature
|
|
from room_climate_measurement_t
|
|
where
|
|
category = 'Outdoor' and
|
|
location = 'Outdoor' and
|
|
extract('hour' from time) = 12 and
|
|
extract('year' from time) = 2022
|
|
group by day
|
|
order by day
|
|
)
|
|
select
|
|
temperature::numeric(10,0) as t,
|
|
count(*)
|
|
from
|
|
day_avg
|
|
group by t;
|
|
|
|
|
|
-- 12-Uhr-Werte
|
|
select
|
|
date_trunc('day', time)::date as day,
|
|
avg(temperature)::numeric(10,0) as temperature
|
|
from room_climate_measurement_t
|
|
where
|
|
category = 'Outdoor' and
|
|
location = 'Outdoor' and
|
|
extract('hour' from time) = 12 and
|
|
extract('year' from time) = 2023
|
|
group by day
|
|
order by day;
|
|
|
|
|
|
-- Tageswert
|
|
select
|
|
extract('day' from time)::varchar || '.' || extract('month' from time)::varchar || '.' || extract('year' from time)::varchar as day,
|
|
avg(temperature)::numeric(10,0) as temperature
|
|
from room_climate_measurement_t
|
|
where
|
|
category = 'Outdoor' and
|
|
location = 'Outdoor' and
|
|
extract('hour' from time) = 12 and
|
|
time::date = now()::date
|
|
group by day;
|