sql >> Databasteknik >  >> RDS >> Sqlserver

Högre sökresultat med sökordet DISTINCT?

Detta är inte tekniskt ett svar, men eftersom jag tog mig tid att analysera detta kan jag lika gärna lägga upp det (även om jag riskerar att bli nedröstad).

Det fanns inget sätt jag kunde återskapa det beskrivna beteendet.

Detta är scenariot:

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)

Och här är några frågor och deras resultat:

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)

Och något intressant:

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)

Jag tycker att det är väldigt konstigt att du kan köra frågorna precis som du beskrev. Du måste meddela oss tabellstrukturen och data för att få ytterligare hjälp.



  1. Hur man gör en databas online från återställningsläge i SQL Server

  2. sqlplus hur man hittar information om den för närvarande anslutna databassessionen

  3. MySQL Välj från kategori i tabell y där Count (av kategorins produkt från en annan tabell) är större än noll

  4. Hur man hittar standardfilplatsen för datafiler och loggfiler i SQL Server