खेल के अनुसार BMI बकेट
आप यह समझना चाहते हैं कि हर समर स्पोर्ट में BMI कैसे बदलता है. इसका उत्तर देने के लिए, ऐसा रिपोर्ट सेट अप करें जिसमें ये हों:
- sport, यानी समर स्पोर्ट का नाम
- bmi_bucket, जो BMI को तीन समूहों में बाँटता है:
<.25,.25-.30,>.30 - athletes, यानी एथलीट्स की यूनिक संख्या
परिभाषा: BMI = 100 * weight / (height squared).
ध्यान दें कि CASE स्टेटमेंट पंक्ति-दर-पंक्ति चलता है, इसलिए दूसरा कंडीशनल तभी लागू होता है जब पहला कंडीशनल false हो. इसका मतलब है कि आपको पहले से उल्लिखित कंडीशनल्स को निकालने के लिए AND स्टेटमेंट की ज़रूरत नहीं है.
ज़रूरत हो तो E:R Diagram देखें.
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL में रिपोर्टिंग
अभ्यास निर्देश
- ऐसी क्वेरी बनाएँ जो
summer_gamesऔरathletesसे डेटा लेकरsport,bmi_bucket, औरathletesदिखाए. ANDयाELSEका उपयोग किए बिना, ऐसाCASEस्टेटमेंट सेट करें जोbmi_bucketको तीन समूहों में बाँटे:'<.25','.25-.30', और'>.30'.- नॉन-एग्रीगेटेड फ़ील्ड्स पर
GROUP BYकरें. - रिपोर्ट को sport के आधार पर और फिर athletes को descending क्रम में ऑर्डर करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
-- Pull in sport, bmi_bucket, and athletes
SELECT
____,
-- Bucket BMI in three groups: <.25, .25-.30, and >.30
CASE WHEN ____ THEN '<.25'
WHEN ____ THEN '.25-.30'
WHEN ____ THEN '>.30' END AS bmi_bucket,
____ AS athletes
FROM ____ AS s
JOIN ____ AS a
ON ____
-- GROUP BY non-aggregated fields
GROUP BY ____
-- Sort by sport and then by athletes in descending order
ORDER BY ____;