求一分组汇总语句
有如下记录:
classroom student sex
一班 张三 男
二班 李四 男
一班 王五 女
一班 老六 男
分别统计出 男女数
显示:
班级 男生数 女生数
一班 3 1
二班 1 0
sql语句如何写呢?
------解决方案--------------------楼主答案好像有点问题
--------------------------------------------
create table tb(classroom varchar(10),student varchar(10),sex varchar(10))
insert into tb select '一班 ', '张三 ', '男 '
union all select '二班 ', '李四 ', '男 '
union all select '一班 ', '王五 ', '女 '
union all select '一班 ', '老六 ', '男 '
go
select
班级=classroom,
男生数=sum(case sex when '男 ' then 1 else 0 end),
女生数=sum(case sex when '女 ' then 1 else 0 end)
from
tb
group by classroom
order by classroom collate Chinese_PRC_Stroke_CI_AS
drop table tb
------解决方案--------------------Select
Classroom As 班级,
Sum(Case Sex When '男 ' Then 1 Else 0 End) As 男生数,
Sum(Case Sex When '女 ' Then 1 Else 0 End) As 女生数
From 表
Group BY Classroom
Order BY Classroom Collate Chinese_PRC_Stroke_CI_AS