开始使用免费开始使用

访问下一行的值

使用 LEAD() 函数,您可以在同一查询中访问后续行的数据,而无需使用 GROUP BY 语句。这样,您就能轻松比较有序列表中的各项值。

语法如下: LEAD(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

在本练习中,您将熟悉把当前行的值与下一行的值进行比较。

您将选取来自 France 的投票者信息,并按总票数升序排列结果。 目的是分析每位投票者的票数与列表中下一个人的票数相比如何。

本练习是课程的一部分

在 SQL Server 中使用函数处理数据

查看课程

练习说明

  • 新增一列,显示列表中下一位的投票数。
  • 再新增一列,显示当前投票者的 total_votes 与下一位投票数之间的差值。

交互式实操练习

通过完成这段示例代码来试试这个练习。

SELECT 
	first_name,
	last_name,
	total_votes AS votes,
    -- Select the number of votes of the next voter
	___(___) OVER (___ total_votes) AS votes_next_voter,
    -- Calculate the difference between the number of votes
	LEAD(___) ___ (ORDER BY ___) - total_votes AS votes_diff
FROM voters
WHERE country = 'France'
ORDER BY total_votes;
编辑并运行代码