You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从视图中按Teacher_id去重统计正确的性别数量

去重统计教师性别数量

原始视图数据

Teacher_idSexMissed_Day
45m19-01-2023
37f19-01-2023
45m01-02-2023
78m01-02-2023

期望统计结果

要求同一Teacher_id的性别仅统计一次,最终期望结果如下:

MaleFemale
21

当前查询问题

当前使用的查询语句:

COUNT(DISTINCT CASE WHEN Sex = 'm' THEN 1 END) AS Male, COUNT(CASE WHEN Sex = 'f' THEN 1 END) AS Female

得到的错误结果:

MaleFemale
31

错误原因是:针对男性的统计中,Teacher_id=45的重复记录被多次计数,导致男性数量多算1个。

正确查询方案

方案一:先去重再统计

先通过子查询获取每个唯一教师的性别记录,再进行性别计数:

SELECT
  COUNT(CASE WHEN Sex = 'm' THEN 1 END) AS Male,
  COUNT(CASE WHEN Sex = 'f' THEN 1 END) AS Female
FROM (
  SELECT DISTINCT Teacher_id, Sex
  FROM your_view_name -- 替换为你的视图名称
) AS unique_teachers;

方案二:直接去重统计教师ID

在COUNT函数中,针对不同性别直接去重统计Teacher_id,确保同一教师仅被计数一次:

SELECT
  COUNT(DISTINCT CASE WHEN Sex = 'm' THEN Teacher_id END) AS Male,
  COUNT(DISTINCT CASE WHEN Sex = 'f' THEN Teacher_id END) AS Female
FROM your_view_name; -- 替换为你的视图名称

两种方案都能实现需求,确保同一教师的性别不会被重复统计。

内容的提问来源于stack exchange,提问作者Marcos J.D Junior

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 23:20:30