开始使用免费开始使用

获取首值和末值

从有序列表中返回首值或末值的分析函数,在查询中非常实用。 在本练习中,您将熟悉它们的用法。 语法如下:

  • 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)

您将编写一条查询,检索来自 Spain 和 USA 的所有选民。然后,在查询中添加命令,分别检索每个国家中最年轻和最年长选民的出生日期。您希望在每一行都能看到这些值,以便与该行选民的出生日期进行比较。

本练习是课程的一部分

在 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');
编辑并运行代码