Přístup k hodnotám z následujícího řádku
Funkce LEAD() ti umožňuje přistupovat k datům z následujícího řádku ve stejném dotazu, aniž by bylo potřeba použít příkaz GROUP BY. Díky tomu můžeš snadno porovnávat hodnoty z uspořádaného seznamu.
Syntaxe vypadá takto:
LEAD(numeric_expression) OVER ([PARTITION BY column] ORDER BY column)
V tomto cvičení se naučíš porovnávat hodnoty aktuálního řádku s hodnotami z následujícího řádku.
Vybereš informace o voličích z Francie a výsledky seřadíš podle celkového počtu hlasů vzestupně. Cílem je analyzovat, jak se počet hlasů každého voliče liší od počtu hlasů zaznamenaných u další osoby v seznamu.
Toto cvičení je součástí kurzu
Funkce pro práci s daty v SQL Serveru
Pokyny k cvičení
- Vytvoř nový sloupec zobrazující počet hlasů zaznamenaných pro další osobu v seznamu.
- Vytvoř nový sloupec s rozdílem mezi hodnotou
total_votesaktuálního voliče a počtem hlasů následující osoby.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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;