SELECT
CASE WHEN number<101 THEN 0
WHEN number BETWEEN 101 AND 250 THEN 1
WHEN number BETWEEN 251 AND 500 THEN 2
ELSE 3 END,
COUNT(1)
FROM [master].dbo.spt_values sv WHERE sv.[type]='p' AND sv.number>0
GROUP BY CASE WHEN number<101 THEN 0
WHEN number BETWEEN 101 AND 250 THEN 1
WHEN number BETWEEN 251 AND 500 THEN 2
ELSE 3 END
ORDER BY 1
/*
----------- -----------
0 100
1 150
2 250
3 1547
(4 行受影响)
*/