开发者社区> 问答> 正文

请问下面这个sql 有关分组聚合问题要怎么解决?

请教 sql 有关分组聚合问题
正文:

CREATE TABLE student (

name VARCHAR (36) NOT NULL,
grade int2 NOT NULL,
gender int2 NOT NULL
)

上面是学生表,现在需求是:筛选出所有男生数量大于 50,女生数量小于 60 的所有年级,以及年级的男女学生数量,还有需要分页和男女数量排序

展开
收起
OSC开源社区 2024-05-31 17:18:47 42 0
1 条回答
写回答
取消 提交回答
  • 可以使用下面的代码方式进行解决:

    SELECT
        SUM(CASE WHEN gender = TRUE THEN 1 ELSE 0 END) AS boy_count,
        SUM(CASE WHEN gender = FALSE THEN 1 ELSE 0 END) AS girl_count,
        grade
    FROM
        student
    GROUP BY
        grade
    HAVING
        SUM(CASE WHEN gender = TRUE THEN 1 ELSE 0 END) > 50 OR
        SUM(CASE WHEN gender = FALSE THEN 1 ELSE 0 END) < 60;
    
    2024-06-05 18:59:27
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载