SELECT *
FROM (
SELECT DISTINCT ON (t.fire_department_id_number, t.state)
headers.fd_name,
t.*
FROM (
SELECT fires.state, fires.fire_department_id_number, AVG(fires.arrival_at - fires.alarm_at) / 60 AS time, COUNT(*) AS incidents
FROM nfirs_basic_fire_incidents AS fires
WHERE (fires.arrival_at - fires.alarm_at) <= '60 minutes'
AND fires.property_use = '419'
OR fires.property_use = '429'
AND fires.published_year::INT BETWEEN 2018 AND 2022
GROUP BY fires.state, fires.fire_department_id_number
ORDER BY COUNT(*) DESC
LIMIT 500
) AS t
JOIN raw_fd_headers AS headers
ON (t.fire_department_id_number = headers.fdid AND t.state = headers.state)
) AS s
ORDER BY s.incidents DESC;
Loading...