取得首筆與末筆的值
從有排序的清單中傳回首筆或末筆值的分析函式,在查詢中非常實用。 在這個練習中,你會先熟悉這些函式。 語法為:
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');