假如数据库表的结构:
name | age |
张三 | 18 |
李四 | 38 |
王五 | 65 |
select case
when age between 18 and 29 then '青年'
when age between 30 and 59 then '中年'
when age>=60 then '老年' end as 年龄段,
count(*) as 人数
from test
group by case
when age between 18 and 29 then '青年'
when age between 30 and 59 then '中年'
when age>=60 then '老年'
end;
获得的结果:
年龄段 | 人数 | |
1 | 青年 | 1 |
2 | 中年 | 1 |
3 | 老年 | 1 |