Estou tentando executar uma consulta em uma tabela para ver quantos usuários únicos têm um registro de uso no sistema em um determinado ponto. Eu tenho trabalhado com a seguinte consulta, mas ainda não vi um resultado adequado.
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;
Atualmente, a consulta retorna 18, para cada divisão na tabela unida. Sem a GROUP BY
cláusula, obtenho o mesmo número de registros.
EDIT: executei a consulta novamente, com sugestões de um comentário. Ao remover a cláusula group by and count, recebo isso (grande demais para postar). Esses dados estão muito mal formatados, infelizmente são herdados e bastante grandes.
Não é possível que esses usuários tenham usado todos os laboratórios listados.
Isso foi originalmente postado como falha do servidor e foi migrado para o StackOverFlow. Fui então apontado para cá dizendo que este pode ser o lugar mais apropriado para isso.
Talvez você também possa procurar o número de registros para cada usingUser
Esta consulta fornecerá a contagem de registros para todos os usuários por divisão
Esta consulta fornecerá a contagem de registros para todas as divisões por usuário (invertida
GROUP BY
)Olhando para trás em sua consulta original, se a remoção de
count(distinct usageUser)
fornecesse o mesmo número de linhas, meu palpite seria que2012-07-08
há uma divisão ou um usuário sendo recuperado. Olhando para trás em sua postagem original , você disse que herdou esses dados. As chances são de que haja apenas uma divisão ou um usuário em todos os dados.Esta pode não ser uma resposta completa, mas apenas duas sugestões de perguntas para fazer você pensar. Eu espero que isso ajude...
ATUALIZAÇÃO 2013-08-06 12:48 EST
Como sugerido por @yercube
Esta consulta fornecerá a contagem de registros para todas as divisões por usuário (invertida
GROUP BY
)