这个SQL该怎么写啊?

Prior_121 2003-08-18 05:13:02
我有一表,字段如下:
姓名 性别 班级

我想得到每个班级的男女生的总数,如何写SQL呢?
也就是得到下面的表:
男生人数 女生人数 班级
...全文
37 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyy431706 2003-08-23
  • 打赏
  • 举报
回复
不支持,大力以前告诉我的,哈哈
Prior_121 2003-08-19
  • 打赏
  • 举报
回复
请问Access是否支持CASE WHEN
sdhdy 2003-08-18
  • 打赏
  • 举报
回复
select sum(case 性别 when '男' thne 1 else 0 end) 男生人数,sum(case 性别 when '女' then 1 else 0 end) 女生人数,班级 from yourtable group by 班级
yijiayi 2003-08-18
  • 打赏
  • 举报
回复
select sum(case when 性别='男' then 1 else 0 end) 男生人数,sum(case when 性别='女' then 1 else 0 end) 女生人数,班级 from 你的表 group by 班级
flying120 2003-08-18
  • 打赏
  • 举报
回复
非常同意 大力 ^_^
select sum(case when 性别='男' then 1 else 0 end) 男生人数,sum(case when 性别='女' then 1 else 0 end) 女生人数,班级 from 你的表 group by 班级
dafu71 2003-08-18
  • 打赏
  • 举报
回复
select sum(case when 性别='男' then 1 else 0 end) 男生人数,
sum(case when 性别='女' then 1 else 0 end) 女生人数,班级
from @tb group by 班级

----------------------------
男生人数 女生人数 班级
2 1 a
1 1 b
1 2 c
dafu71 2003-08-18
  • 打赏
  • 举报
回复
declare @tb table(姓名 varchar(20), 性别 char(2), 班级 varchar(10))
insert @tb values('aaa','男','a')
insert @tb values('bbb','男','a')
insert @tb values('ccc','女','a')
insert @tb values('ddd','男','b')
insert @tb values('eee','女','b')
insert @tb values('fff','女','c')
insert @tb values('ggg','女','c')
insert @tb values('hhh','男','c')
select * from @tb
select sum(case when 性别='男' then 1 else 0 end) 男生人数,
sum(case when 性别='女' then 1 else 0 end) 女生人数,班级
from @tb group by 班级
txlicenhe 2003-08-18
  • 打赏
  • 举报
回复

Select sum(case when 性别 = '男' then 1 else 0 end) as 男生人数,
sum(case when 性别 <> '男' then 1 else 0 end) as 女生人数,班级
from 表 group by 班级
hjb111 2003-08-18
  • 打赏
  • 举报
回复
select sum(case 性别 when '男' thne 1 else 0 end) 男生人数,sum(case 性别 when '女' then 1 else 0 end) 女生人数,班级 from yourtable group by 班级
CrazyFor 2003-08-18
  • 打赏
  • 举报
回复
select
sum(case when 性别='男' then 1 else 0 end) 男生人数
,sum(case when 性别='女' then 1 else 0 end) 女生人数
,班级
from 表 group by 班级
amtyuranus 2003-08-18
  • 打赏
  • 举报
回复
or


不用子查询用case when或者iif函数也可以的,加上group by就好了
pengdali 2003-08-18
  • 打赏
  • 举报
回复
select sum(case when 性别='男' then 1 else 0 end) 男生人数,sum(case when 性别='女' then 1 else 0 end) 女生人数,班级 from 你的表 group by 班级
pengdali 2003-08-18
  • 打赏
  • 举报
回复
select sum(case when 性别='男' then 1 else 0 end) 男生人数,sum(case when 性别='女' then 1 else 0 end) 女生人数,班级 from 你的表 group by 班级
amtyuranus 2003-08-18
  • 打赏
  • 举报
回复
select a.aaa,a.banji,b.vvv from(select banji,count(*) as aaa from table where xingbie ='nan' group by banji) as a,
(select banji,count(*) as vvv from table where xingbie ='nv' group by banji) as b
where a.banji=b.banji

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧