sql - сгруппировать по диапазонам, чтобы включить диапазоны без значений

Предположим, сценарий похож на этот вопрос. Я хочу получить следующие результаты:

score range  | number of occurrences
-------------------------------------
   0-9       |        11
  10-19      |        14
  20-29      |         3
   ...       |       ...

И я могу использовать выбранный ответ в качестве решения:

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

Как я могу гарантировать, что диапазон баллов 30-39 будет отображаться, даже если в этом диапазоне нет результатов?

12
задан Community 23 May 2017 в 10:29
поделиться