最初と最後の値を取得する
順序付きリストから最初または最後の値を返す分析関数は、クエリでとても役立ちます。 この演習では、これらの関数に慣れていきます。 構文は次のとおりです。
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)
スペインとアメリカの有権者をすべて取得するクエリを書きます。次に、各国の最年少と最年長の有権者の生年月日を取得するためのコマンドをクエリに追加します。各行でこれらの値を表示し、各有権者の生年月日と比較できるようにします。
この演習はコースの一部です
SQL Serverでのデータ操作のための関数
演習の手順
- 各国の最年長の有権者の生年月日を取得します。
- 各国の最年少の有権者の生年月日を取得します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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');