Problema:
Você gostaria de contar quantos valores diferentes não NULL existem em uma determinada coluna.
Exemplo:
Nosso banco de dados tem uma tabela chamada
customer
com dados nas seguintes colunas:id
, first_name
, last_name
, e city
. id | first_name | last_name | cidade |
---|---|---|---|
1 | João | Williams | Chicago |
2 | Tom | Marrom | Austin |
3 | Lucy | Moleiro | Chicago |
4 | Ellie | Smith | Dallas |
5 | Brian | Jones | Austin |
6 | Allan | Davis | NULO |
Vamos encontrar o número de diferentes (e não-
NULL
) cidades. Solução:
SELECT COUNT( DISTINCT city) as cities FROM customer;
Esta consulta retorna o número de cidades onde os clientes moram:
cidades |
---|
3 |
Discussão:
Para contar o número de valores diferentes armazenados em uma determinada coluna, basta designar a coluna que você passa para o
COUNT
funcionar como DISTINCT
. Ao receber uma coluna, COUNT
retorna o número de valores nessa coluna. Combinando isso com DISTINCT
retorna apenas o número de valores exclusivos (e não NULL).