Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

В SQL, как можете да групирате по диапазони?

Нито един от отговорите с най-високо гласуване не е правилен в SQL Server 2000. Може би са използвали различна версия.

Ето правилните версии и на двете на 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

или

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Запазване на ORDER BY в SELECT INTO

  2. MSSQL Редовен израз

  3. Заявката е неуспешна или услугата не е отговорила навреме?

  4. Как да настроите текущия език в SQL Server (T-SQL)

  5. Transactionscope хвърля изключение, тази платформа не поддържа разпределени транзакции при отваряне на обект за връзка