ComeçarComece de graça

Acessando valores da próxima linha

Com a função LEAD(), você consegue acessar dados de uma linha subsequente na mesma consulta, sem usar a instrução GROUP BY. Assim, fica fácil comparar valores de uma lista ordenada.

Esta é a sintaxe: LEAD(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

Neste exercício, você vai se familiarizar com a comparação de valores da linha atual com os valores da próxima linha.

Você vai selecionar informações sobre os eleitores da França e ordenar os resultados por votos totais, em ordem crescente. O objetivo é analisar como o número de votos de cada eleitor se compara ao número de votos registrado para a próxima pessoa na lista.

Este exercício faz parte do curso

Funções para manipular dados no SQL Server

Ver curso

Instruções do exercício

  • Crie uma nova coluna mostrando o número de votos registrado para a próxima pessoa na lista.
  • Crie uma nova coluna com a diferença entre o total_votes do eleitor atual e os votos da próxima pessoa.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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;
Editar e executar o código