gpt4 book ai didi

Mysql统计一个表中的不同用户

转载 作者:行者123 更新时间:2023-11-29 00:32:18 26 4
gpt4 key购买 nike

我需要按日期对日志表中的记录进行分组,以及特定日期的普通员工或特殊员工的访问次数。访问应该是不同的,例如,如果一种类型的用户登录了两次,那一天应该只计算一次

Type
PK typeId
name

Employee
PK empId
firstName
lastName
FK typeId


Log
PK logId
FK empId
date

我试过下面的查询,但无济于事。当我用 count 替换 sum/case 时,它​​可以工作,但我无法指定要明确计数的用户类型

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`

最佳答案

尝试:

SELECT L.`date`,
COUNT(DISTINCT CASE WHEN E.typeId=1 THEN E.empId END)
as specialEmployeeAccesses,
COUNT(DISTINCT CASE WHEN E.typeId=2 THEN E.empId END)
as regularEmployeeAccesses
FROM LOG L
INNER JOIN Employee E
ON E.empId = L.empId
GROUP BY L.`date`

关于Mysql统计一个表中的不同用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15971452/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com