Ir para conteúdo
Fórum Script Brasil
  • 0

Usar a funcao Count


tlima

Pergunta

Tenho uma consulta e estou usando o count para calcular a quantidade de acessos dos funcionarios ao sistema, porem ao usar o count retorna apenas uma linha.

Como faco para retornar o numero de acesso de todos os funcionarios?

Select Count(u.id), u.nome, d.codsetor

From usuarios u, departamento d

Where d.codsetor = 2

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Tenho uma consulta e estou usando o count para calcular a quantidade de acessos dos funcionarios ao sistema, porem ao usar o count retorna apenas uma linha.

Como faco para retornar o numero de acesso de todos os funcionarios?

Select Count(u.id), u.nome, d.codsetor

From usuarios u, departamento d

Where d.codsetor = 2

O que esta select está fazendo? Informa o objetivo dela. Ela não está ligando uma tabela a outra. Esta consulta ficará extremamente lenta quando houver uma quantidade maior de registros.

Link para o comentário
Compartilhar em outros sites

  • 0
Tenho uma consulta e estou usando o count para calcular a quantidade de acessos dos funcionarios ao sistema, porem ao usar o count retorna apenas uma linha.

Como faco para retornar o numero de acesso de todos os funcionarios?

Select Count(u.id), u.nome, d.codsetor

From usuarios u, departamento d

Where d.codsetor = 2

O que esta select está fazendo? Informa o objetivo dela. Ela não está ligando uma tabela a outra. Esta consulta ficará extremamente lenta quando houver uma quantidade maior de registros.

Na verdade coloquei apenas uma ideia de como funcionaria, visto que já fiz outros post e não obtive a resposta.

Veja só:

TABELA FUNCIONARIO

id_func, func_nome

TABELA DEPARTAMENTO

id_departamento, dep_nome

TABELA LOGS

id_logs, id_func, hora_login, hora_logout, id_departamento

Query

SELECT COUNT (l.id_func), f.func_nome, d.dep_nome 
FROM logs l
INNER JOIN funcionario f ON f.id_func = l.id_func
INNER JOIN departamento d ON d.id_departamento = l.id_departamento
WHERE d.id_departamento = 2

Link para o comentário
Compartilhar em outros sites

  • 0

'tlima'

Para ficar claro a resposta

Na verdade coloquei apenas uma ideia de como funcionaria, visto que já fiz outros post e não obtive a resposta.

Analisei seus posts anteriores. Você postou na área de SQL Server um post identico a este e não teve resposta e você postou na área de PHP, sobre outro assunto, e Obteve resposta.

Aqui na área de MySQL você está postando somente agora e estou respondendo.

Mas, acho que ainda não acordei, pois devo estar pensando lento ou ainda não adquiri os poderes do prof. Xavier. :D

Qual o objetivo de sua sonsulta?

O que você quer que ela retorne?

O uso da função de agregação COUNT requer o uso da cláusula GROUP BY em sua consulta.

Link para o comentário
Compartilhar em outros sites

  • 0
"Como faco para retornar o numero de acesso de todos os funcionarios?" E não apenas um?

Faça assim

SELECT l.id_func, f.func_nome, COUNT (l.id_func) AS QTD_ACESSOS, d.dep_nome 
FROM logs l
INNER JOIN funcionario f ON f.id_func = l.id_func
INNER JOIN departamento d ON d.id_departamento = l.id_departamento
GROUP BY l.id_func

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...