sql >> Base de Datos >  >> RDS >> Mysql

seleccionar recuento distinto (id) vs seleccionar recuento (id distinto)

Cuando lo haga select distinct count(id) entonces básicamente estás haciendo:

select distinct cnt
from (select count(id) as cnt from t) t;

Debido a que la consulta interna solo devuelve una fila, distinct no esta haciendo nada La consulta cuenta el número de filas en la tabla (bueno, más exactamente, el número de filas donde id no es null ).

Por otro lado, cuando haces:

select count(distinct id)
from t;

Luego, la consulta cuenta la cantidad de valores diferentes que id asume en la mesa. Esto parece ser lo que quieres.