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

(Resolvido) Preciso de ajuda com COUNT DISTINCT coluna CASE WHEN condi


Tchello

Pergunta

Preciso de algo que funcione para isto:

COUNT(DISTINCT coluna CASE WHEN coluna = '' THEN 1 END) AS vazias

COUNT(DISTINCT coluna CASE WHEN coluna <> '' THEN 1 END) AS preenchidas

Segue:

SELECT idtec, contrato, nome,
COUNT(DISTINCT contrato) AS contratos,
COUNT(DISTINCT contrato CASE WHEN contrato = '' THEN 1 END) AS abertos,
COUNT(DISTINCT contrato CASE WHEN contrato <> '' THEN 1 END) AS fechados
FROM rota
WHERE nome != 'nome'
GROUP BY idtec ORDER BY nome
Preciso distinguir cada técnico por número de contratos. Lembrando que para cada técnico podem ter várias linhas com o mesmo número de contrato
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Tenta assim:

SELECT idtec, contrato, nome, 
COUNT(contrato) as contratos,
SUM(IF(contrato = '',1,0) as abertos,
SUM(IF(contrato <> '',1,0) as fechados
FROM (SELECT DISTINCT idtec, contrato, nome
FROM rota 
WHERE nome != 'nome') r
GROUP BY idtec ORDER BY nome
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...