我正在尝试对表运行查询,以查看在给定时间点系统中有多少唯一用户有使用记录。我一直在处理以下查询,但我还没有看到正确的结果。
SELECT count(distinct usageUser), divisionName
FROM records R
INNER JOIN locate L
ON L.computerID=R.usageComputerID
WHERE R.usageWhen LIKE "2012-07-08T12:%"
GROUP BY L.divisionName;
目前,对于连接表中的每个分区,查询返回 18。没有GROUP BY
条款我得到相同数量的记录。
编辑:我根据评论的建议再次运行查询。通过删除 group by 和 count 子句,我得到了这个(太大而无法发布)。此数据的格式非常糟糕,不幸的是它是继承的并且相当大。
这些用户不可能像列出的那样使用每个实验室。
这最初发布到服务器故障,并迁移到 StackOverFlow。然后我被指到这里说这实际上可能是最合适的地方。
也许您也可以查找每个 usageUser 的记录数
此查询将给出每个部门所有用户的记录数
此查询将给出每个用户所有部门的记录数(反向
GROUP BY
)回顾您的原始查询,如果删除
count(distinct usageUser)
给您相同数量的行,我的猜测是2012-07-08
有一个部门或一个用户被检索。回头看你原来的帖子,你说你继承了这个数据。很可能整个数据只有一个部门或一个用户。这可能不是一个完整的答案,而只是两个建议的问题让你思考。我希望这有帮助...
更新 2013-08-06 12:48 EST
正如@yercube所建议的
此查询将给出每个用户所有部门的记录数(反向
GROUP BY
)