開始使用免費開始

取得首筆與末筆的值

從有排序的清單中傳回首筆或末筆值的分析函式,在查詢中非常實用。 在這個練習中,你會先熟悉這些函式。 語法為:

  • 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');
編輯並執行程式碼