Dies ist technisch gesehen keine Antwort, aber da ich mir die Zeit genommen habe, dies zu analysieren, kann ich es genauso gut posten (obwohl ich das Risiko habe, abgelehnt zu werden).
Ich konnte das beschriebene Verhalten auf keinen Fall reproduzieren.
Dies ist das Szenario:
declare @table table ([user id] int)
insert into @table values
(1),(1),(1),(1),(1),(1),(1),(2),(2),(2),(2),(2),(2),(null),(null)
Und hier sind einige Abfragen und ihre Ergebnisse:
SELECT COUNT(User ID) FROM @table --error: this does not run
SELECT COUNT(dsitinct User ID) FROM @table --error: this does not run
SELECT COUNT([User ID]) FROM @table --result: 13 (nulls not counted)
SELECT COUNT(distinct [User ID]) FROM @table --result: 2 (nulls not counted)
Und etwas Interessantes:
SELECT user --result: 'dbo' in my sandbox DB
SELECT count(user) from @table --result: 15 (nulls are counted because user value
is not null)
SELECT count(distinct user) from @table --result: 1 (user is the same
value always)
Ich finde es sehr seltsam, dass Sie die Abfragen genau so ausführen können, wie Sie es beschrieben haben. Sie müssen uns die Tabellenstruktur und die Daten mitteilen, um weitere Hilfe zu erhalten.