Cả hai câu trả lời được bình chọn cao nhất đều không đúng trên SQL Server 2000. Có lẽ chúng đang sử dụng một phiên bản khác.
Đây là phiên bản chính xác của cả hai phiên bản trên SQL Server 2000.
select t.range as [score range], count(*) as [number of occurences]
from (
select case
when score between 0 and 9 then ' 0- 9'
when score between 10 and 19 then '10-19'
else '20-99' end as range
from scores) t
group by t.range
hoặc
select t.range as [score range], count(*) as [number of occurrences]
from (
select user_id,
case when score >= 0 and score< 10 then '0-9'
when score >= 10 and score< 20 then '10-19'
else '20-99' end as range
from scores) t
group by t.range