GROUP BY
Sadece 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 NULL
veya kullanabilirsinizifnull
( stackoverflow.com/a/799406/1861346 )