SQL per trovare il numero di valori distinti in una colonna

Posso selezionare tutti i valori distinti in una colonna nei seguenti modi:

  • SELECT DISTINCT column_name FROM table_name;
  • SELECT column_name FROM table_name GROUP BY column_name;

Ma come faccio a ottenere il conteggio delle righe da quella query? È necessaria una sottoquery?

Soluzione

Puoi usare la parola chiave DISTINCT all'interno della funzione aggregata COUNT:

SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name

Questo conterà solo i valori distinti per quella colonna.

Commentari (5)
SELECT COUNT(DISTINCT column_name) FROM table as column_name_count;

devi contare quel col distinto, poi dargli un alias.

Commentari (0)
select Count(distinct columnName) as columnNameCount from tableName 
Commentari (0)