Önceki satırdaki değerlere erişme
Bir sorguda LAG() fonksiyonunu kullanarak, mevcut satırdan önceki satırlara erişebilirsin.
Sözdizimi şöyle:
LAG(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)
Bu egzersizde, bu fonksiyonu sorgunda kullanacaksın. "Fruition" adlı bir şirketin ürettiği çikolata barlarının puanlarını analiz edeceksin.
Bu şirket, kakaosu dünyanın farklı bölgelerinden gelen çikolatalar üretiyor.
Aynı konumdan gelen barlar için, kakao yüzdesi ile alınan puan arasında bir ilişki olup olmadığını kontrol etmek istiyorsun. Bunun için, her barın kakao yüzdesini, bir önceki puanı alan barın kakao yüzdesiyle karşılaştıracaksın. Ardından bu değerler arasındaki farkı hesaplayıp sonuçları yorumlayacaksın.
Bu egzersiz
SQL Server'da Verileri İşlemek için Fonksiyonlar
kursunun bir parçasıdırEgzersiz talimatları
- Aynı konumdan gelen (
broad_bean_originaynı) ve daha düşük puan alan çikolata barının kakao yüzdesini gösteren yeni bir sütun oluştur. - Mevcut barın kakao yüzdesi ile önceki barın yüzdesi arasındaki farkı gösteren yeni bir sütun oluştur.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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;