Contar Valores Distintos SQL PHP (Para ninjas e faixas preta em SQL)
9 respostasResolvido
phpsql
A
alexsander_curty
Pessoal,
Preciso de uma força, quebrando a cabeça aqui.
Como faria um query pra contar os valores abaixo.
Preciso que a query retorne o total de dentro quando o nome for igual;
Exemplo: ALEX e PATY TEM 4 REGISTRO NO BD, cada, sendo que no campo valida 3 estão com o valor = dentro . Fazendo manual o valor seria igual 2.
Não deu para entender.
Fazendo manual o valor seria igual a 2? Não seria 3?
É isso?
A
alexsander_curty
Nao porque a contagem teria que agrupar o nome.
S
shuttner
Ainda não deu para entender.
Levando em consideração os registros
NOME | MES | VALIDA
ALEX | JAN | DENTRO
ALEX | FEV | DENTRO
ALEX | MAR | DENTRO
ALEX | ABR | FORA
PATY | JAN | DENTRO
PATY | FEV | DENTRO
PATY | MAR | DENTRO
PATY | ABR | FORA
Quais seria o resultado esperado?
A
alexsander_curty
O esperado seria 2.
Porque existe dois nomes que possui no campo VALIDA o valor “DENTRO”;
Eu preciso que a query retorne o total de nomes que possui 3 “DENTRO” no campo valida.
NOME | MES | VALIDA
ALEX | JAN | DENTRO
PATY| JAN | DENTRO
S
Solucao aceita
shuttner
Ai sua consulta, faz um teste ai.
SELECT nome,mes,valida FROM tab
WHERE valida = 'DENTRO’
GROUP BY nome
HAVING COUNT(valida) = 3
Só mais uma duvida.
E como ficaria a query para trazer todos os registros sem agrupar por nome?
Tentei dessa forma e nao funcionou:
SELECT nome,mes,valida FROM tab
WHERE valida = 'DENTRO’
and nome
HAVING COUNT(valida) = 3