Один из способов сделать это - разделить расстояние на 50, сделать его целым числом и сгруппировать по этому результату.
Примерно так: (не проверено)
SELECT floor(Distance/50) as [group], count(*) as count
FROM Station
GROUP BY floor(Distance/50)
Единственный недостаток этого способа состоит в том, что два близких друг к другу числа могут все еще находиться в разных группах. Например, расстояние 249 будет в другой группе, чем 251.
Поскольку любая такая группировка требует определенных граничных точек, вам необходимо четко понимать свои требования - тогда можно разработать алгоритм.