मैं एक ऐसे GROUP BYखंड के साथ एक क्वेरी का निर्माण कर रहा हूं जिसमें केवल एक निश्चित स्थिति के आधार पर रिकॉर्ड की गणना करने की क्षमता की आवश्यकता होती है (उदाहरण के लिए केवल उन रिकॉर्ड्स की गणना करें जहां एक निश्चित स्तंभ मान 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
COUNTIF()रेखा स्पष्ट रूप से विफल रहता है के बाद से वहाँ कोई मूल एसक्यूएल समारोह कहा जाता है COUNTIF, लेकिन यह विचार यहां सभी पंक्तियों MyColumn के लिए मूल्य '1' है कि का प्रतिशत निर्धारित करने के लिए है।
MS SQL 2005 वातावरण में इसे ठीक से लागू करने के बारे में कोई विचार?
ISNULL, इसके बजाय आप कर सकते हैंCASE WHEN myColumn IS NULL, या उपयोग कर सकते हैंifnull( stackoverflow.com/a/799406/1861346 )