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).