By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE weather (events TEXT, zip_code INTEGER);
INSERT INTO weather VALUES
('event1', 94041), ('event2', 94041), ('event3', 94041), (null, 94041),
('event1', 95113), (null, 95113), ('event3', 95113), (null, 95113);
Records: 8 Duplicates: 0 Warnings: 0
SELECT zip_code,
AVG(events IS NULL) * 100 AS percentage
FROM weather
GROUP BY zip_code;
zip_code | percentage |
---|---|
94041 | 25.0000 |
95113 | 50.0000 |