求一SQL语句,统计出班级的男女人数

SpriteLW 2005-10-21 10:53:46
学生表(所在班级,性别)

现要得出一张表,(班级,男数,女数)

该怎样做,用写成存储过程也可以
...全文
4301 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lengxiaowei 2005-10-21
  • 打赏
  • 举报
回复
select 所在班级,男生数=sum(case when 性别='男' then 1 else 0 end),
女生数=sum(case when 性别='女' then 1 else 0 end)
from 学生表
group by 所在班级
wushimiang12 2005-10-21
  • 打赏
  • 举报
回复 1
select 所在班级,
男生人数=sum(case when 性别='男' then 1 else 0 end),
女生人数=sum(case when 性别='女' then 1 else 0 end)
from 学生表
group by 所在班级
david_net 2005-10-21
  • 打赏
  • 举报
回复
楼上的简单明了,自己又学到了一点东西,谢谢.
SpriteLW 2005-10-21
  • 打赏
  • 举报
回复
呵呵,原来可以这样写,为公平起见,先回答的就多给,其余方法不同的也给:)
jackie214 2005-10-21
  • 打赏
  • 举报
回复
select 所在班级,性别,count(*)
from 学生表
group by 所在班级,性别
singlepine 2005-10-21
  • 打赏
  • 举报
回复
select class,male=sum(case sex when '1' then 1 else 0 end),female=sum(case sex when '0' then 1 else 0 end)
from a
group by class

churchatp1 2005-10-21
  • 打赏
  • 举报
回复
select 所在班级 as 班级,男数=sum(case when 性别='男' then 1 else 0 end ),女数=sum(case when 性别='女' then 1 else 0 end ) from 学生表 group by 所在班级
wangdehao 2005-10-21
  • 打赏
  • 举报
回复
select 所在班级,男数=sum(case 性别 when '男' then 1 else 0 end),女数=sum(case 性别 when '女' then 1 else 0 end)
from 学生表
group by 所在班级
MorningTea 2005-10-21
  • 打赏
  • 举报
回复
楼上的间接,简单,好
下面这种是用子查询,可参考:

select 所在班级,统计男=(select count(1) from 学生表 表1 where 表1.所在班级 = 所在班级 and 表1.性别 = '男'),统计女=(select count(1) from 学生表 表2 where 表2.所在班级 = 所在班级 and 表2.性别 = '女')
from 学生表
group by 所在班级
leeboyan 2005-10-21
  • 打赏
  • 举报
回复
数数不就得了
vivianfdlpw 2005-10-21
  • 打赏
  • 举报
回复
select 所在班级
,sum(case when 性别='男' then 1 else 0 end) as '男生人数'
,sum(case when 性别='女' then 1 else 0 end) as '女生人数'
from 学生表
group by 所在班级
rivery 2005-10-21
  • 打赏
  • 举报
回复
select 所在班级,统计男=sum(case 性别 when '男' then 1 else 0 end),统计女=sum(case 性别 when '女' then 1 else 0 end)
from 学生表
group by 所在班级
SInoyew 2005-10-21
  • 打赏
  • 举报
回复
一个方法。

34,593

社区成员

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

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