Dit is technisch gezien geen antwoord, maar aangezien ik de tijd heb genomen om dit te analyseren, kan ik het net zo goed posten (hoewel ik het risico loop te worden weggestemd).
Ik kon het beschreven gedrag op geen enkele manier reproduceren.
Dit is het scenario:
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)
En hier zijn enkele vragen en hun resultaten:
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)
En iets interessants:
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)
Ik vind het heel vreemd dat je de query's precies kunt uitvoeren zoals je hebt beschreven. U moet ons de tabelstructuur en de gegevens laten weten om verdere hulp te krijgen.