पिछली पंक्ति से मान एक्सेस करना
किसी क्वेरी में LAG() फंक्शन का उपयोग करके, आप वर्तमान पंक्ति से पहले की पंक्तियों तक पहुँच सकते हैं.
इसका सिंटैक्स है:
LAG(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)
इस अभ्यास में, आप अपनी क्वेरी में इस फंक्शन का उपयोग करेंगे। आप "Fruition" नाम की कंपनी द्वारा बनाई गई चॉकलेट बार्स की रेटिंग का विश्लेषण करेंगे.
यह कंपनी अलग-अलग इलाकों से आने वाले कोकोआ के साथ चॉकलेट बनाती है.
आप यह जाँचना चाहते हैं कि क्या एक ही लोकेशन से आने वाली बार्स के लिए कोकोआ प्रतिशत और प्राप्त स्कोर के बीच कोई संबद्धता है। इसके लिए, आप प्रत्येक बार के कोकोआ प्रतिशत की तुलना उस बार के प्रतिशत से करेंगे जिसे पिछला रेटिंग स्कोर मिला था। फिर, आप इन मानों के बीच का अंतर निकालेंगे और परिणामों की व्याख्या करेंगे।
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL Server में डेटा मैनिपुलेट करने के लिए फ़ंक्शंस
अभ्यास निर्देश
- एक नया कॉलम बनाएँ जो उसी लोकेशन (
broad_bean_originसमान है) से आने वाली, कम स्कोर पाने वाली चॉकलेट बार का कोकोआ प्रतिशत दिखाए। - एक नया कॉलम बनाएँ जो वर्तमान बार के कोकोआ प्रतिशत और पिछली बार के प्रतिशत के बीच का अंतर दिखाए।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
SELECT
broad_bean_origin AS bean_origin,
rating,
cocoa_percent,
-- Retrieve the cocoa % of the bar with the previous rating
___(___)
OVER(___ broad_bean_origin ORDER BY ___) AS percent_lower_rating
FROM ratings
WHERE company = 'Fruition'
ORDER BY broad_bean_origin, rating ASC;