ComeçarComece de graça

Acessando valores da linha anterior

Usando a função LAG() em uma consulta, você pode acessar linhas anteriores à atual.

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

Neste exercício, você vai usar essa função na sua consulta. Você analisará as avaliações das barras de chocolate produzidas por uma empresa chamada "Fruition".

Essa empresa produz chocolate com cacau vindo de diferentes regiões do mundo.

Você quer verificar se existe correlação entre a porcentagem de cacau e a nota recebida, para barras que vêm do mesmo local. Para isso, você vai comparar a porcentagem de cacau de cada barra com a porcentagem da barra que recebeu a avaliação anterior. Em seguida, calculará a diferença entre esses valores e interpretará os resultados.

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 a porcentagem de cacau da barra de chocolate que recebeu uma nota menor, com cacau vindo do mesmo local (broad_bean_origin é o mesmo).
  • Crie uma nova coluna com a diferença entre a porcentagem de cacau da barra atual e a porcentagem da barra anterior.

Exercício interativo prático

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

SELECT 
	broad_bean_origin AS bean_origin,
	rating,
	cocoa_percent,
    -- Retrieve the cocoa % of the bar with the previous rating
	___(___) 
		OVER(___ broad_bean_origin ORDER BY ___) AS percent_lower_rating
FROM ratings
WHERE company = 'Fruition'
ORDER BY broad_bean_origin, rating ASC;
Editar e executar o código