-- Create bins WITH bins AS ( SELECT generate_series(30 , 60 , 5) AS lower, generate_series(35 , 65, 5) AS upper), -- Subset data to tag of interest ebs AS ( SELECT unanswered_count FROM stackoverflow WHERE tag = 'amazon-ebs') -- Count values in each bin SELECT lower, upper, count(unanswered_count) -- left join keeps all bins FROM bins LEFT JOIN ebs ON unanswered_count >= lower AND unanswered_count < upper -- Group by bin bounds to create the groups GROUP BY lower, upper ORDER BY lower;