I am trying to bucket values within my table by the range they fall in, for example, if my table is the following:
course_name | current enrollment
course_1 | 10
course_2 | 200
course_3 | 500
I get the following result:
enrollment_range | courses
10 | 1
100 | 1
500 | 1
So far, I have the following:
SELECT
CASE
WHEN courses.current_enrollment >= 500 THEN 500
WHEN courses.current_enrollment >= 250 THEN 250
WHEN courses.current_enrollment >= 100 THEN 100
WHEN courses.current_enrollment >= 50 THEN 50
WHEN courses.current_enrollment >= 30 THEN 30
WHEN courses.current_enrollment >= 10 THEN 10
END enrollment_range, count() AS total
FROM courses
GROUP BY enrollment_range
ORDER BY enrollment_range ASC
but I end up with an extra result that is the total number of courses I have, so I get something like the following:
enrollment_range | courses
10 | 1
100 | 1
500 | 1
| 3