GROUP BYSadece belirli bir koşula (örneğin yalnızca belirli bir sütun değeri 1'e eşit olduğu kayıtları saymak) dayalı kayıt sayma yeteneği gerektiren bir cümle ile bir sorgu inşa ediyorum .
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
COUNTIF()Orada denilen hiçbir yerli SQL fonksiyonu olduğu için çizgi Açıkçası başarısız COUNTIF, ama buradaki fikir Sütunum değerini '1' olan tüm satırları yüzdesini belirlemektir.
MS SQL 2005 ortamında düzgün bir şekilde nasıl uygulanacağı hakkında herhangi bir düşünce?
ISNULL, bunun yerine yapabilirCASE WHEN myColumn IS NULLveya kullanabilirsinizifnull( stackoverflow.com/a/799406/1861346 )