2016-12-26 8 views
0

У меня есть таблица INFO с возрастным параметром AGE_YEARS. Мне нужен выход, как это:sql ibm db2 группа по возрасту

AGE_RANGE COUNT 
18-29  400 
30-49  500 
50-69  ??? 
70-99  ??? 

Как отборное заявление выглядеть для этого?

ответ

0

Вы можете использовать case:

select (case when age_years >= 18 and age < 30 then '18-29' 
      when age_years < 50 then '30-49' 
      when age_years < 70 then '50-69' 
      when age_years < 100 then '70-100' 
     end) as age_range, count(*) 
from REDACTED 
group by (case when age_years >= 18 and age < 30 then '18-29' 
       when age_years < 50 then '30-49' 
       when age_years < 70 then '50-69' 
       when age_years < 100 then '70-100' 
      end) 
order by min(age_years);