Esta não é tecnicamente uma resposta, mas já que demorei para analisar isso, eu poderia postar (embora eu corro o risco de ser rejeitado).
Não havia como reproduzir o comportamento descrito.
Este é o cenário:
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)
E aqui estão algumas consultas e seus resultados:
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)
E algo interessante:
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)
Acho muito estranho que você consiga executar as consultas exatamente como descreveu. Você teria que nos informar a estrutura da tabela e os dados para obter mais ajuda.