Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wählen Sie eine eindeutige Anzahl (ID) vs. Wählen Sie eine Anzahl (eindeutige ID) aus

Wenn Sie select distinct count(id) dann tun Sie im Grunde:

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

Da die innere Abfrage nur eine Zeile zurückgibt, ist die distinct tut nichts. Die Abfrage zählt die Anzahl der Zeilen in der Tabelle (genauer gesagt, die Anzahl der Zeilen, in denen id ist nicht null ).

Auf der anderen Seite, wenn Sie Folgendes tun:

select count(distinct id)
from t;

Dann zählt die Abfrage die Anzahl der verschiedenen Werte, die id übernimmt in der Tabelle. Dies scheint das zu sein, was Sie wollen.