我需要按日期对日志表中的记录进行分组,并在特定日期对普通员工或特殊员工的访问次数进行分组。访问应该是不同的,例如,如果一种类型的用户登录了两次,那么当天应该只计算一次
Type
PK typeId
name
Employee
PK empId
firstName
lastName
FK typeId
Log
PK logId
FK empId
date
我试过下面的查询,但无济于事。当我用计数替换总和/大小写时,它可以工作,但是我无法指定要明确计数的用户类型
SELECT L.`date`
SUM(DISTINCT CASE WHEN E.typeId =1 THEN 1 ELSE 0 END) as specialEmployeeAccesses,
SUM(DISTINCT CASE WHEN E.typeId=2 THEN 1 ELSE 0 END) as regularEmployeeAccesses
FROM LOG L
INNER JOIN
Employee E
ON E.empId = L.empId
GROUP BY L.`date`