SQL语句按年龄段分组统计⼈数问题
drop table #t
create table #t(Uname varchar(10),age int,sex varchar(10))
insert #t
select '啊啊',19,'男'
union all
select '信息',23,'男'
union all
sql统计每个系的学生人数
select '宝宝',31,'⼥'
union all
select '喔喔',21,'⼥'
union all
select '⽶⽶',30,'男'
union all
select '⽶⽶',24,'男'
union all
select '⽶⽶',35,'男'
union all
select '⽶⽶',41,'男'
union all
select '⽶⽶',16,'男'
union all
select '⽶⽶',24,'男'
select nnd as '年龄段',count(*) as '⼈数',sex as '性别' from
(
select
case
when age>=1 and age<=10 then '1-10'
when age>=11 and age<=20 then '11-20'
when age>=21 and age<=30 then '21-30'
when age>=31 and age<=40 then '31-40' else 'other'
end
as nnd,uname,sex from #t
)
a
group by nnd,sex
--------------------------------------------------------------------------------------------------
drop table #t1
create table #t1(Uname varchar(10),age int)
insert #t1
select '啊啊',19 union all
select '信息',23 union all
select '宝宝',31 union all
select '喔喔',21 union all
select '⽶⽶',6
select nnd as '年龄段',count(*) as '⼈数' from
(
select
case
when age>=1 and age<=10 then '1-10'
when age>=11 and age<=20 then '11-20'
when age>=21 and age<=30 then '21-30'
when age>=31 and age<=40 then '31-40'
end
as nnd,uname from #t1
)
a
group by nnd