-- 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) = 2023
            group by day
            order by day
    )
    select 
            temperature::numeric(10,0) as t,
            count(*)
        from
            day_avg
        group by t;

    
