Mysql 在一次查询中计数两次
我做错了什么?试图输出两个计数,需要按部门分组Mysql 在一次查询中计数两次,mysql,sql,Mysql,Sql,我做错了什么?试图输出两个计数,需要按部门分组 SELECT Department, COUNT(DISTINCT ID) AS total, SUM(CASE WHEN course LIKE 'AS%' THEN 1 ELSE 0 END) AS Total_AS FROM schedule GROUP BY Department ORDER BY Department ASC 唯一的问题是,对
SELECT Department,
COUNT(DISTINCT ID) AS total,
SUM(CASE WHEN course LIKE 'AS%' THEN 1
ELSE 0
END) AS Total_AS
FROM schedule
GROUP BY Department
ORDER BY Department ASC
唯一的问题是,对于多个实例,Total\u As
正在计算Department
。如果员工(ID)
至少参加了一次课程为%
的培训,则只需计算一次。脚本当前正在将员工(ID)
采取的每一项计算为%
。需要案例
部分仅对员工(ID)
进行一次计数,以表明该员工至少参加了一次培训,如果他们没有参加培训,则为0<代码>总和
不应多次计算员工人数。尝试使用MAX
代替SUM
,但结果仅给出每个部门的1或0。正在尝试获取部门、总员工以及部门中至少有1个课程(如“AS%”)的员工的输出
输出应为:
会计,部门共有20名员工,总计10名
使用当前的SUM
,我得到的Total\u的结果为40,因为员工中有10人(ID)
每人上了4门课。只需将Total\u作为计数至少参加1门课程的员工的总数,在本例中为10。将总和更改为计数(不同):
固定的标题,格式和改进的可读性。请确保在发布前格式化代码,并始终添加表定义、示例数据和预期输入。
SELECT Department,
COUNT(DISTINCT ID) AS total,
COUNT(DISTINCT CASE WHEN course LIKE 'AS%' THEN id END) Total_AS
FROM schedule
GROUP BY Department
ORDER BY Department ASC