要查询班级女生个数>3的班级的名称 SCname为 班级, Ssex 为性别
select SCname count(*) from student where(select count(*)from student where Ssex='女')>3 group by SCname
select SCname count(*) from student where Ssex='女'
group by SCname
having conut(*)>3
这两个句子,第一个查询结果是 所有的班级名称和人数(不分男女)都统计出来了,第二个的查询结果是正确的,只统计出班级女生大于三个的 班级名称,有人能给我分析下第一个错的原因吗?
我想用子查询的方法来查询一下,有人能给出正确的答案么,谢谢了。。
select s.*, sc.cou from student s, (select SCname,count(*) cou from student where Ssex='女' group by SCname having count(*)>3) sc whrer s.SCname=sc.SCname