SQL Server 2019如何统计每个GM对应的唯一员工数量
实现方案
你不需要单独拼接两条语句,直接用GROUP BY按GM字段分组统计即可,对应SQL语句如下:
SELECT GM, COUNT(DISTINCT EeNumber) AS [Count] FROM WOWEEs -- 若不需要统计GM为#N/A的结果,可取消下面一行的注释 -- WHERE GM <> '#N/A' GROUP BY GM ORDER BY GM;
语句说明
- 按
GM字段分组后,COUNT(DISTINCT EeNumber)会自动统计每个GM分组下不重复的员工数量,完全匹配去重统计需求 - 如果你原来单独统计
GM='#N/A'的逻辑是需要把#N/A也纳入统计结果,直接运行上述语句即可,该分组会和其他GM一样出现在结果中
上述语句执行后输出的结果格式和你预期的完全一致,对应你给出的示例数据,输出效果如下:
| GM | Count |
|---|---|
| gm1 | 3 |
| gm2 | 3 |
内容的提问来源于stack exchange,提问作者Will Shattuck
相关产品推荐
相关产品推荐

