sql >> データベース >  >> RDS >> Sqlserver

SQLでは、範囲内でどのようにグループ化できますか?

    SQL Server 2000では、最も投票数の多い回答はどちらも正しくありません。おそらく、別のバージョンを使用していました。

    SQLServer2000での両方の正しいバージョンは次のとおりです。

    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. Oracle 11g:クエリが何も返さない場合のデフォルトは静的な値

    2. Google Data Analytics Professional証明書は価値がありますか?

    3. バックグラウンドスレッドでSQLiteクエリを非同期で実行するにはどうすればよいですか?

    4. PL / SQL ORA-01422:正確なフェッチが要求された数を超える行を返します