1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
Connected as mni
SQL>
SQL> With Data As (
2 Select 'xx' nom, to_date('01/01/1985','DD/MM/YYYY') dat_nais, to_date('01/01/2012','DD/MM/YYYY') dat_exa from dual union all
3 Select 'ee' nom, to_date('05/05/1987','DD/MM/YYYY') dat_nais, to_date('01/05/2012','DD/MM/YYYY') dat_exa from dual union all
4 Select 'ttt' nom, to_date('06/04/1982','DD/MM/YYYY') dat_nais, to_date('01/08/2012','DD/MM/YYYY') dat_exa from dual
5 ),
6 data_avec_age as (
7 Select nom,
8 dat_nais,
9 dat_exa,
10 round(months_between(dat_exa,dat_nais)/12) age
11 From data
12 ),
13 age_et_tranche as (
14 Select age,
15 Case
16 When age between 25 and 29 Then '25-29'
17 When age between 30 and 34 Then '30-34'
18 End tranche
19 From data_avec_age
20 )
21 Select tranche, count(*)
22 from age_et_tranche
23 Group By tranche
24 /
TRANCHE COUNT(*)
------- ----------
25-29 2
30-34 1
SQL> |
Partager