Accesarea valorilor din rândul următor
Cu funcția LEAD(), poți accesa date din rândul următor în cadrul aceleiași interogări, fără a folosi instrucțiunea GROUP BY. Astfel, poți compara cu ușurință valorile dintr-o listă ordonată.
Acesta este sintaxa:
LEAD(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)
În acest exercițiu, te vei familiariza cu compararea valorilor din rândul curent cu valorile din rândul următor.
Vei selecta informații despre alegătorii din Franța și vei ordona rezultatele după numărul total de voturi, în ordine crescătoare. Scopul este să analizezi cum se compară numărul de voturi al fiecărui alegător cu numărul de voturi înregistrat pentru persoana următoare din listă.
Acest exercițiu face parte din cursul
Funcții pentru manipularea datelor în SQL Server
Instrucțiuni pentru exercițiu
- Creează o coloană nouă care să afișeze numărul de voturi înregistrat pentru persoana următoare din listă.
- Creează o coloană nouă cu diferența dintre
total_votesal alegătorului curent și voturile persoanei următoare.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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;