開始使用免費開始

存取下一列的值

使用 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;
編輯並執行程式碼