İlk ve son değeri almak
Sıralı bir listeden ilk veya son değeri döndüren analitik fonksiyonlar, sorgularda çok kullanışlıdır. Bu egzersizde onlara aşina olacaksın. Sözdizimi:
FIRST_VALUE(numeric_expression) OVER ([PARTITION BY column] ORDER BY column ROW_or_RANGE frame)LAST_VALUE(numeric_expression) OVER ([PARTITION BY column] ORDER BY column ROW_or_RANGE frame)
İspanya ve ABD'deki tüm seçmenleri getiren bir sorgu yazacaksın. Ardından, her ülkedeki en genç ve en yaşlı seçmenin doğum tarihini almak için sorguna bazı komutlar ekleyeceksin. Bu değerleri her satırda görmek istiyorsun ki, her seçmenin doğum tarihiyle karşılaştırabilesin.
Bu egzersiz
SQL Server'da Verileri İşlemek için Fonksiyonlar
kursunun bir parçasıdırEgzersiz talimatları
- Her ülkedeki en yaşlı seçmenin doğum tarihini getir.
- Her ülkedeki en genç seçmenin doğum tarihini getir.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
SELECT
first_name + ' ' + last_name AS name,
country,
birthdate,
-- Retrieve the birthdate of the oldest voter per country
___(birthdate)
OVER (PARTITION BY ___ ORDER BY ___) AS oldest_voter,
-- Retrieve the birthdate of the youngest voter per country
___(___)
OVER (___ country ORDER BY ___ ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS youngest_voter
FROM voters
WHERE country IN ('Spain', 'USA');