Should be able to do with something like this:SELECT
CASE
WHEN col1 < 10 THEN CAST('<10' AS VARCHAR(10))
WHEN col1 < 20 THEN '10-20'
WHEN col1 < 30 THEN '20-30'
ELSE '>30'
END AS [Range],
COUNT(*) AS [Num]
FROM
YourTable
GROUP BY
CASE
WHEN col1 < 10 THEN CAST('<10' AS VARCHAR(10))
WHEN col1 < 20 THEN '10-20'
WHEN col1 < 30 THEN '20-30'
ELSE '>30'
END