Sonraki satırdaki değerlere erişme
LEAD() fonksiyonuyla, aynı sorguda bir sonraki satırdaki verilere GROUP BY kullanmadan erişebilirsin. Böylece, sıralı bir listedeki değerleri kolayca karşılaştırabilirsin.
Sözdizimi:
LEAD(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)
Bu egzersizde, geçerli satırdaki değerleri bir sonraki satırdaki değerlerle karşılaştırmaya alışacaksın.
Fransa’daki seçmenlerle ilgili bilgileri seçecek ve sonuçları artan düzende toplam oya göre sıralayacaksın. Amaç, listedeki her bir seçmenin oy sayısının, listedeki bir sonraki kişinin oy sayısıyla nasıl karşılaştırıldığını analiz etmektir.
Bu egzersiz
SQL Server'da Verileri İşlemek için Fonksiyonlar
kursunun bir parçasıdırEgzersiz talimatları
- Listede bir sonraki kişi için kaydedilen oy sayısını gösteren yeni bir sütun oluştur.
- Geçerli seçmenin
total_votesdeğeri ile bir sonraki kişinin oyları arasındaki farkı gösteren yeni bir sütun oluştur.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
SELECT
first_name,
last_name,
total_votes AS votes,
-- Select the number of votes of the next voter
___(___) OVER (___ total_votes) AS votes_next_voter,
-- Calculate the difference between the number of votes
LEAD(___) ___ (ORDER BY ___) - total_votes AS votes_diff
FROM voters
WHERE country = 'France'
ORDER BY total_votes;