sql >> Databáze >  >> RDS >> Sqlserver

Vyšší výsledek dotazu s klíčovým slovem DISTINCT?

Toto není technicky odpověď, ale protože jsem si udělal čas na to, abych to analyzoval, mohl bych to také zveřejnit (ačkoli mám riziko, že budu proti).

Neexistoval způsob, jak bych mohl reprodukovat popsané chování.

Toto je scénář:

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)

A zde jsou některé dotazy a jejich výsledky:

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)

A něco zajímavého:

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)

Připadá mi velmi zvláštní, že jste schopni spouštět dotazy přesně tak, jak jste popsali. Chcete-li získat další pomoc, musíte nám sdělit strukturu tabulky a data.



  1. Oracle kontingenční řádky do sloupců

  2. Laravel:jak přidat klauzuli where pomocí nástroje pro tvorbu dotazů?

  3. PHP s SQL Serverem

  4. Oracle JDBC Euro znak