Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Предупреждение:Нулевата стойност се елиминира от агрегат или друга операция SET в Aqua Data Studio

Най-често ще използвате COUNT за обобщаване върху UID. Следователно

COUNT([uid]) ще изведе предупреждението:

докато се използва с ляво съединение, където преброеният обект не съществува.

Използване на COUNT(*) в този случай също ще изведе неправилни резултати, тъй като тогава ще преброите общия брой резултати (т.е. родители), които съществуват.

Използване на COUNT([uid]) Е валиден начин за броене и предупреждението не е нищо повече от предупреждение. Ако обаче сте загрижени и искате да получите истински брой uid в този случай, можете да използвате:

SUM(CASE WHEN [uid] IS NULL THEN 0 ELSE 1 END) AS [new_count]

Това няма да добави много режийни разходи към вашата заявка. (тествано mssql 2008)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете обобщена таблица в Transact/SQL?

  2. Как да сумирате определена колона с месец и година

  3. Всички ли мигрират към облака?

  4. SQL Server 2005 Пивот върху неизвестен брой колони

  5. Как да промените колона, без да изпускате таблица в SQL 2008