题目
有雇员表 employees,包含 (编号, 姓名, 性别, 部门, 电话, 地址)。分别统计各个部门男性和女性的人数,程序如下:
有雇员表 employees,包含 (编号, 姓名, 性别, 部门, 电话, 地址)。
分别统计各个部门男性和女性的人数,程序如下:
题目解答
答案
SELECT 部门,
SUM(CASE WHEN 性别 = '男' THEN 1 ELSE 0 END) AS 男性人数,
SUM(CASE WHEN 性别 = '女' THEN 1 ELSE 0 END) AS 女性人数
FROM employees
GROUP BY 部门;
该 SQL 查询语句用于统计 employees 表中每个部门的男性和女性员工人数。首先使用 GROUP BY 子句将数据按部门进行分组。然后,通过 SUM(CASE WHEN ...) 语句计算每个部门的男性和女性员工人数。当性别为“男”时计数为 1,否则为 0,这样可以累加出每个部门的男性人数;同样的逻辑用于统计女性人数。