2013-08-06 43 views
0

我正试图在表上运行一个查询,以查看有多少唯一用户在给定时间点在系统中有一个使用记录。我一直在处理以下查询,但我还没有看到正确的结果。MySQL分组错误

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子句,我得到这个this(太大而不能发布)。这些数据的格式非常差,不幸的是它是继承的并且相当大。

这些用户不可能使用列出的每个实验室。

+0

为什么你认为这是错的?有18个不同的divisonName值或不是? – idipous

+0

您的查询对我来说是正确的。在没有GROUP BY和COUNT的情况下运行它,并检查结果是否有意义。 – Vatev

+0

@idious它告诉我,*每个*部分有18个不同的用户,这是不正确的。总共有49个师。 Vatev:我会稍后发布一个修改。 – Jacobm001

回答

0
SELECT count(*) cnt, L.divisionName, R.usageUser 
FROM records R 
INNER JOIN locate L 
    ON L.computerID=R.usageComputerID 
WHERE R.usageWhen LIKE "2012-07-08T12:%" 
GROUP BY L.divisionName,R.usageUser;