编写sql语句,查询每个班级学生的男生人数、女生人数。
时间: 2023-05-08 22:01:13 浏览: 4387
要查询每个班级学生的男生人数和女生人数,需要用到SQL语句中的聚合函数和GROUP BY子句。
SQL语句如下所示:
SELECT class, COUNT(CASE WHEN gender='男' THEN 1 ELSE NULL END) AS male_count,
COUNT(CASE WHEN gender='女' THEN 1 ELSE NULL END) AS female_count
FROM students
GROUP BY class;
首先,使用SELECT语句来选择班级、男生人数和女生人数。然后,在COUNT函数中使用CASE语句来检查每个学生的性别是否为男或女,如果是,则计数器加1。通过在COUNT函数中使用CASE语句,我们可以得到班级中男生和女生的数目。然后,使用GROUP BY子句将结果按班级进行分组。
使用上述SQL语句将返回一个表格,其中包含每个班级的名称、男生人数和女生人数。您可以根据需要修改查询以匹配您的数据库架构和数据模型。
相关问题
编写SQL语句,查询每个班级学生的男生人数、女生人数
假设有一个学生信息表(student_info)包含以下字段:学生编号(student_id)、班级编号(class_id)、学生姓名(name)、性别(gender)。
则查询每个班级的男生人数、女生人数的SQL语句如下:
SELECT class_id,
SUM(CASE WHEN gender = '男' THEN 1 ELSE 0 END) AS male_count,
SUM(CASE WHEN gender = '女' THEN 1 ELSE 0 END) AS female_count
FROM student_info
GROUP BY class_id;
解释:通过GROUP BY语句按照班级编号分组,然后使用SUM和CASE WHEN函数计算每个班级的男生人数和女生人数。
用上面的数据,编写SQL语句,查询每个班级学生的男生人数、女生人数
SELECT class,
SUM(CASE WHEN gender = '男' THEN 1 ELSE 0 END) AS male_count,
SUM(CASE WHEN gender = '女' THEN 1 ELSE 0 END) AS female_count
FROM student
GROUP BY class;
阅读全文