Sto creando una query con una GROUP BYclausola che richiede la possibilità di contare i record solo in base a una determinata condizione (ad es. Contare solo i record in cui un determinato valore di colonna è uguale a 1).
SELECT UID,
COUNT(UID) AS TotalRecords,
SUM(ContractDollars) AS ContractDollars,
(COUNTIF(MyColumn, 1) / COUNT(UID) * 100) -- Get the average of all records that are 1
FROM dbo.AD_CurrentView
GROUP BY UID
HAVING SUM(ContractDollars) >= 500000
La COUNTIF()linea ovviamente fallisce poiché non viene chiamata alcuna funzione SQL nativa COUNTIF, ma l'idea qui è di determinare la percentuale di tutte le righe che hanno il valore '1' per MyColumn.
Qualche idea su come implementarlo correttamente in un ambiente MS SQL 2005?
ISNULL, invece puoi fareCASE WHEN myColumn IS NULLo usareifnull( stackoverflow.com/a/799406/1861346 )