求SQL查询语句
学生基本信息表T_JBXX【XH(姓名)、XM(姓名)、XBDM(性别)、YXMC(院系)、ZYMC(专业)、NJ(年级)、BJMC(班级)、CSRQ(出生日期)】性别表...
学生基本信息表T_JBXX【XH(姓名)、XM(姓名)、XBDM(性别)、YXMC(院系)、ZYMC(专业)、NJ(年级)、BJMC(班级)、CSRQ(出生日期)】
性别表T_XB【XBDM(性别代码)、XBMC(性别名称)】
求SQL语句:(1)查询出所有人数超过30的班级。(2)统计各个班级的男女生人数及总人数。 展开
性别表T_XB【XBDM(性别代码)、XBMC(性别名称)】
求SQL语句:(1)查询出所有人数超过30的班级。(2)统计各个班级的男女生人数及总人数。 展开
2个回答
展开全部
1、
select * from (
select BJMC,count(XM) as BJRS from T_JBXX group by BJMC
) t
where BJRS>30
2、
select * from (
select t1.BJMC,
sum(case when t2.XBMC='男生' then 1 else 0 end ) as boy,
sum(case when t2.XBMC='女生' then 1 else 0 end ) as girl,
sum(1) total
from T_JBXX t1
left join T_XB t2
on t1.XBDM=t2.XBDM and t2.XBMC in('男生','女生')
group by t1.BJMC
)t
第二题如果只有男女的话,其实没那么复杂,之所也这么写是考虑到可能存在人妖或者其他异类,所以还是严谨点。
展开全部
select BJMC from T_JBXX GROUP BY YXMC HAVING COUNT(*) > 30;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询