परिदृश्य:
आप SQL सर्वर डेवलपर के रूप में काम कर रहे हैं, आपको एक क्वेरी लिखने के लिए कहा जाता है जो dbo.Customer तालिका से कुल बिक्री राशि को CountryShortName द्वारा वापस करना चाहिए। आपको उन रिकॉर्ड्स को फ़िल्टर करने के लिए भी कहा जाता है जहां कंट्रीशॉर्टनाम द्वारा कुल बिक्री राशि 10 से अधिक है।समाधान:
उपरोक्त परिदृश्य से, आपने कुछ चीजों पर ध्यान दिया है। सबसे पहले हमें SaleAmount का योग करना होगा। दूसरा हमें कंट्रीशॉर्टनाम द्वारा SaleAmount द्वारा समूहित करने की आवश्यकता है। आखिरी चीज जो हमें राशि की गणना के बाद उन रिकॉर्ड्स को फ़िल्टर करने की आवश्यकता होती है और केवल वही रिटर्न देता है जहां कुल बिक्री राशि 10 से अधिक है। हम यहां क्लॉज का उपयोग नहीं कर सकते हैं क्योंकि ग्रुप बाय से पहले रिकॉर्ड्स को कहां फ़िल्टर करेगा। SQL सर्वर हमें क्लॉज प्रदान करता है जिसका उपयोग हम समूह के बाद रिकॉर्ड को फ़िल्टर करने के लिए कर सकते हैं।चलो dbo बनाते हैं। नीचे रिकॉर्ड के साथ ग्राहक तालिका और फिर ग्रुप बाय और क्लॉज का उपयोग करके हमारी क्वेरी लिखें।
तालिका बनाएं dbo.Customer (Id int, FName VARCHAR(50), LName VARCHAR(50), CountryShortName CHAR(2), SaleAmount Int)GO - dbo में पंक्तियां डालें। ग्राहक तालिका dbo.CustomerValues में डालें ( 1, 'रजा', 'एम', 'पीके', 10), (2, 'रीटा', 'जॉन', 'यूएस', 12), (3, 'सुखी', 'सिंह', नल, 25) ,(4,'जेम्स', 'स्मिथ', 'सीए', 60), (5, 'रॉबर्ट', 'लैडसन', 'यूएस', 54), (6, 'एलिस', 'जॉन', 'यूएस ',87),(6,'जॉन', नल, 'यूएस', नल)आइए ग्रुप बाय का उपयोग करके अपनी क्वेरी लिखें और फिर रिकॉर्ड को फ़िल्टर करने के लिए होने का उपयोग करें जहां योग (बिक्री राशि) 10 से अधिक है। (बिक्री राशि)> 10 एसक्यूएल में हैविंग क्लॉज का उपयोग करके एकत्रित डेटा को कैसे फ़िल्टर करें
वीडियो डेमो :एसक्यूएल सेलेक्ट स्टेटमेंट में होने वाले क्लॉज का उपयोग कैसे करें