SQL para encontrar el número de valores distintos en una columna

Puedo seleccionar todos los valores distintos de una columna de las siguientes maneras:

  • SELECT DISTINCT nombre_columna FROM nombre_tabla;
  • SELECT nombre_columna FROM nombre_tabla GROUP BY nombre_columna;

Pero, ¿cómo puedo obtener el número de filas de esa consulta? ¿Es necesaria una subconsulta?

Solución

Puede utilizar la palabra clave DISTINCT dentro de la función agregada COUNT:

SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name

Esto contará sólo los valores distintos de esa columna.

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

tienes que contar esa col distinta, y luego darle un alias.

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