49 lines
1.1 KiB
SQL
49 lines
1.1 KiB
SQL
WITH temperature AS (
|
|
SELECT dt,
|
|
device_name,
|
|
device_type,
|
|
device_floor
|
|
FROM (
|
|
SELECT dt,
|
|
hr,
|
|
device_name,
|
|
device_type,
|
|
device_floor,
|
|
AVG(event_value) AS temperature_hourly_avg
|
|
FROM (
|
|
SELECT CAST(log_time AS DATE) AS dt,
|
|
EXTRACT(HOUR FROM log_time) AS hr,
|
|
device_name,
|
|
device_type,
|
|
device_floor,
|
|
event_value
|
|
FROM logs3
|
|
WHERE event_type = 'temperature'
|
|
) AS r
|
|
GROUP BY dt,
|
|
hr,
|
|
device_name,
|
|
device_type,
|
|
device_floor
|
|
) AS s
|
|
GROUP BY dt,
|
|
device_name,
|
|
device_type,
|
|
device_floor
|
|
HAVING MAX(temperature_hourly_avg) - MIN(temperature_hourly_avg) >= 25.0
|
|
)
|
|
SELECT DISTINCT device_name,
|
|
device_type,
|
|
device_floor,
|
|
'WINTER'
|
|
FROM temperature
|
|
WHERE dt >= DATE '2018-12-01'
|
|
AND dt < DATE '2019-03-01'
|
|
UNION
|
|
SELECT DISTINCT device_name,
|
|
device_type,
|
|
device_floor,
|
|
'SUMMER'
|
|
FROM temperature
|
|
WHERE dt >= DATE '2019-06-01'
|
|
AND dt < DATE '2019-09-01'; |