2016-12-26 3 views
0

Ich habe eine Tabelle INFO mit einem Alter Parameter AGE_YEARS. Ich brauche eine Ausgabe wie folgt:sql ibm db2 Gruppe nach Altersgruppe

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

Wie würde eine select-Anweisung aussehen wie für?

Antwort

0

können Sie case verwenden:

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