Contar valores unicos MySQL
11/04/2017
0
Pessoa preciso de ajuda para contar valores únicos em uma tabela. eh o seguinte, supondo q tenhamos a seguinte tabela
+--------------+--------------+--------------+--------------+
| Codigo | Nome | Setor | Nivel |
+--------------+--------------+--------------+--------------+
| 001 | Fabio | Adm | A |
+--------------+--------------+--------------+--------------+
| 002 | Maicon | Fab | A |
+--------------+--------------+--------------+--------------+
| 003 | Rose | Adm | A |
+--------------+--------------+--------------+--------------+
| 004 | André | Adm | B |
+--------------+--------------+--------------+--------------+
| 005 | Gilmar | Fab | B |
+--------------+--------------+--------------+--------------+
| 006 | Gaby | Adm | C |
+--------------+--------------+--------------+--------------+
preciso saber quantos funcionário tem em cada setor (essa parte é simples usando count e group by Setor) e também qtd níveis de func. em kada setor, pela tabela acima preciso q retorne o seguinte resultado
+----------+-------+------+
| Setor | Func | Niv. |
+----------+-------+------+
| Adm | 4 | 3 |
+----------+-------+------+
| Fab | 2 | 2 |
+----------+-------+------+
ou seja o Setor Adm tem 4 funcionarios estes em 3 níveis diferentes ja o setor Fab tem 2 funcionários em 2 níveis diferentes.
+--------------+--------------+--------------+--------------+
| Codigo | Nome | Setor | Nivel |
+--------------+--------------+--------------+--------------+
| 001 | Fabio | Adm | A |
+--------------+--------------+--------------+--------------+
| 002 | Maicon | Fab | A |
+--------------+--------------+--------------+--------------+
| 003 | Rose | Adm | A |
+--------------+--------------+--------------+--------------+
| 004 | André | Adm | B |
+--------------+--------------+--------------+--------------+
| 005 | Gilmar | Fab | B |
+--------------+--------------+--------------+--------------+
| 006 | Gaby | Adm | C |
+--------------+--------------+--------------+--------------+
preciso saber quantos funcionário tem em cada setor (essa parte é simples usando count e group by Setor) e também qtd níveis de func. em kada setor, pela tabela acima preciso q retorne o seguinte resultado
+----------+-------+------+
| Setor | Func | Niv. |
+----------+-------+------+
| Adm | 4 | 3 |
+----------+-------+------+
| Fab | 2 | 2 |
+----------+-------+------+
ou seja o Setor Adm tem 4 funcionarios estes em 3 níveis diferentes ja o setor Fab tem 2 funcionários em 2 níveis diferentes.
Fabiano Gonzaga
Curtir tópico
+ 0
Responder
Post mais votado
12/04/2017
tente assim:
select setor,count(nome) as func, count(distinct nivel) niv from empresa group by setor
Fernando C
Responder
Mais Posts
12/04/2017
Fabiano Gonzaga
akabei de consegui resolver (exatamente desta maneira) de qualquer forma muito obrigado, e fica ai a dica para o pessoal!
Responder
Clique aqui para fazer login e interagir na Comunidade :)