Технически това не е отговор, но тъй като отделих време да го анализирам, може и да го публикувам (въпреки че има риск да бъда гласувано против).
Нямаше начин да възпроизведа описаното поведение.
Това е сценарият:
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)
Ето някои заявки и техните резултати:
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)
И нещо интересно:
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)
Намирам за много странно, че можете да изпълнявате заявките точно както сте описали. Ще трябва да ни уведомите структурата на таблицата и данните, за да получите допълнителна помощ.