IniziaInizia gratis

Accedere ai valori della riga successiva

Con la funzione LEAD() puoi accedere ai dati della riga successiva nella stessa query, senza usare l’istruzione GROUP BY. In questo modo puoi confrontare facilmente i valori di un elenco ordinato.

Questa è la sintassi: LEAD(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)

In questo esercizio ti abituerai a confrontare i valori della riga corrente con quelli della riga successiva.

Selezionerai le informazioni sugli elettori dalla Francia e ordinerai i risultati per voti totali in ordine crescente. L’obiettivo è analizzare come il numero di voti di ciascun elettore si confronta con il numero di voti registrati per la persona successiva nell’elenco.

Questo esercizio fa parte del corso

Funzioni per manipolare i dati in SQL Server

Visualizza il corso

Istruzioni dell'esercizio

  • Crea una nuova colonna che mostri il numero di voti registrati per la persona successiva nell’elenco.
  • Crea una nuova colonna con la differenza tra il total_votes dell’elettore corrente e i voti della persona successiva.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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;
Modifica ed esegui il codice