Waarden uit de volgende rij ophalen
Met de functie LEAD() kun je in dezelfde query gegevens uit een volgende rij ophalen, zonder de instructie GROUP BY te gebruiken. Zo kun je makkelijk waarden uit een geordende lijst vergelijken.
De syntax is:
LEAD(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)
In deze oefening ga je waarden uit de huidige rij vergelijken met de waarden uit de daaropvolgende rij.
Je selecteert informatie over de kiezers uit Frankrijk en sorteert de resultaten op het totaal aantal stemmen, in oplopende volgorde. Het doel is om te analyseren hoe het aantal stemmen van elke kiezer zich verhoudt tot het aantal stemmen dat is geregistreerd voor de volgende persoon in de lijst.
Deze oefening maakt deel uit van de cursus
Functies voor het bewerken van data in SQL Server
Oefeninstructies
- Maak een nieuwe kolom die het aantal stemmen laat zien dat is geregistreerd voor de volgende persoon in de lijst.
- Maak een nieuwe kolom met het verschil tussen de
total_votesvan de huidige kiezer en de stemmen van de volgende persoon.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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;