Oracle: comment “groupe” sur une plage?

Si j'ai un tableau comme ceci:

pkey   age
----   ---
   1     8
   2     5
   3    12
   4    12
   5    22

Je peux "group by" pour obtenir un effectif de chaque âge.

select age,count(*) n from tbl group by age;
age  n
---  -
  5  1
  8  1
 12  2
 22  1

Ce requêtes puis-je utiliser pour groupe par tranches d'âge?

  age  n
-----  -
 1-10  2
11-20  2
20+    1

Je suis sur 10gR2, mais je serais intéressé par toute 11g-approches spécifiques ainsi.