Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie können Sie in SQL in Bereichen gruppieren?

Keine der am höchsten bewerteten Antworten ist auf SQL Server 2000 richtig. Vielleicht haben sie eine andere Version verwendet.

Hier sind die korrekten Versionen von beiden auf 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

oder

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