sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kan du gruppera efter i intervall i SQL?

Inget av de högst röstade svaren är korrekta på SQL Server 2000. Kanske använde de en annan version.

Här är de korrekta versionerna av dem båda på 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

eller

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


  1. Procedur för att exportera tabell till flera csv-filer

  2. Oracle PL/SQL:Dynamiskt SQL-exempel med Execute Immediate

  3. Fatalt fel:Anrop till odefinierad funktion mysqli_result()

  4. Hur man delar sträng och infogar värden i tabell i SQL Server