2016-12-26 87 views
0

我有一个表INFO,年龄参数为AGE_YEARS。 我需要一个像这样的输出:按年龄段划分的sql ibm db2组

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

select语句怎么看起来像这个?

回答

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);