आप अधिकतर COUNT
. का उपयोग कर रहे होंगे एक यूआईडी पर संक्षेप में प्रस्तुत करने के लिए। इसलिए
COUNT([uid])
चेतावनी देगा:
जबकि लेफ्ट जॉइन के साथ इस्तेमाल किया जा रहा है, जहां काउंटेड ऑब्जेक्ट मौजूद नहीं है।
COUNT(*)
. का उपयोग करना इस मामले में भी गलत परिणाम प्रस्तुत करेंगे, क्योंकि आप तब कुल परिणामों की गणना कर रहे होंगे (यानी माता-पिता) जो मौजूद हैं।
COUNT([uid])
. का उपयोग करना गिनती का एक वैध तरीका है, और चेतावनी एक चेतावनी से ज्यादा कुछ नहीं है। हालाँकि यदि आप चिंतित हैं, और आप इस मामले में यूआईडी की सही संख्या प्राप्त करना चाहते हैं तो आप इसका उपयोग कर सकते हैं:
SUM(CASE WHEN [uid] IS NULL THEN 0 ELSE 1 END) AS [new_count]
यह आपकी क्वेरी में बहुत अधिक अतिरिक्त खर्च नहीं जोड़ेगा। (परीक्षण किया गया mssql 2008)