40 lines
1.4 KiB
SQL
40 lines
1.4 KiB
SQL
SELECT yr,
|
|
mo,
|
|
SUM(coffee_hourly_avg) AS coffee_monthly_sum,
|
|
AVG(coffee_hourly_avg) AS coffee_monthly_avg,
|
|
SUM(printer_hourly_avg) AS printer_monthly_sum,
|
|
AVG(printer_hourly_avg) AS printer_monthly_avg,
|
|
SUM(projector_hourly_avg) AS projector_monthly_sum,
|
|
AVG(projector_hourly_avg) AS projector_monthly_avg,
|
|
SUM(vending_hourly_avg) AS vending_monthly_sum,
|
|
AVG(vending_hourly_avg) AS vending_monthly_avg
|
|
FROM (
|
|
SELECT dt,
|
|
yr,
|
|
mo,
|
|
hr,
|
|
AVG(coffee) AS coffee_hourly_avg,
|
|
AVG(printer) AS printer_hourly_avg,
|
|
AVG(projector) AS projector_hourly_avg,
|
|
AVG(vending) AS vending_hourly_avg
|
|
FROM (
|
|
SELECT CAST(log_time AS DATE) AS dt,
|
|
EXTRACT(YEAR FROM log_time) AS yr,
|
|
EXTRACT(MONTH FROM log_time) AS mo,
|
|
EXTRACT(HOUR FROM log_time) AS hr,
|
|
CASE WHEN device_name LIKE 'coffee%' THEN event_value END AS coffee,
|
|
CASE WHEN device_name LIKE 'printer%' THEN event_value END AS printer,
|
|
CASE WHEN device_name LIKE 'projector%' THEN event_value END AS projector,
|
|
CASE WHEN device_name LIKE 'vending%' THEN event_value END AS vending
|
|
FROM logs3
|
|
WHERE device_type = 'meter'
|
|
) AS r
|
|
GROUP BY dt,
|
|
yr,
|
|
mo,
|
|
hr
|
|
) AS s
|
|
GROUP BY yr,
|
|
mo
|
|
ORDER BY yr,
|
|
mo; |