请教 sql 有关分组聚合问题
正文:
CREATE TABLE student (
name VARCHAR (36) NOT NULL,
grade int2 NOT NULL,
gender int2 NOT NULL
)
上面是学生表,现在需求是:筛选出所有男生数量大于 50,女生数量小于 60 的所有年级,以及年级的男女学生数量,还有需要分页和男女数量排序
可以使用下面的代码方式进行解决:
select sum(b) boy_count, sum(g) girl_count,grade (select case when gender=true then 1 else 0 end as b, case when gender=false then 1 else 0 end as g, grade from student ) group by grade having (sum(b)>50 or sum(g)<60)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。