Вы можете использовать подзапрос UNION
ed для объявления серии диапазонов, а затем JOIN
таблицу с ним, используя агрегирование для подсчета количества вхождений:
SELECT
CONCAT(r.lbound, '-', r.ubound) Acreage_Range,
COUNT(*) Number_of_Fields
FROM
mytable t
INNER JOIN (
SELECT 1 lbound, 10 ubound
UNION ALL SELECT 11, 25
UNION ALL SELECT 26, 50
UNION ALL SELECT 51, 100
UNION ALL SELECT 101, 500
) ranges r
ON t.acreage >= r.lbound AND t.acreage <= r.ubound
GROUP BY r.lbound, r.ubound
Если вам нужно отфильтровать результаты для данного Association
, то вы можете просто добавить к запросу предложение WHERE
.