sql >> Database >  >> RDS >> Sqlserver

Waarschuwing:Null-waarde wordt geëlimineerd door een aggregatie of een andere SET-bewerking in Aqua Data Studio

U gebruikt meestal COUNT samen te vatten via een UID. Daarom

COUNT([uid]) zal de waarschuwing produceren:

terwijl het wordt gebruikt met een left join, waar het getelde object niet bestaat.

COUNT(*) gebruiken in dit geval zouden ook onjuiste resultaten worden weergegeven, omdat u dan het totale aantal bestaande resultaten (dwz ouders) zou tellen.

COUNT([uid]) gebruiken IS een geldige manier van tellen, en de waarschuwing is niets meer dan een waarschuwing. Als u zich echter zorgen maakt, en u wilt in dit geval een echt aantal uids krijgen, dan kunt u het volgende gebruiken:

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

Dit zou niet veel overhead toevoegen aan uw zoekopdracht. (getest mssql 2008)



  1. MySql:beperk updatetoestemming voor één kolom in één tabel

  2. PHP Login code werkt niet, gebruiker blijft hangen op de login pagina

  3. Een UPDATE RETURNING-query maken in Hibernate

  4. Waarom retourneert mysql_num_rows($result) 1 zelfs als $result een lege resultaatset retourneert?