Získání první a poslední hodnoty
Analytické funkce, které vrací první nebo poslední hodnotu z seřazeného seznamu, jsou v dotazech velmi užitečné. V tomto cvičení se s nimi seznámíš. Syntaxe je:
FIRST_VALUE(numeric_expression) OVER ([PARTITION BY column] ORDER BY column ROW_or_RANGE frame)LAST_VALUE(numeric_expression) OVER ([PARTITION BY column] ORDER BY column ROW_or_RANGE frame)
Napíšeš dotaz, který načte všechny voliče ze Španělska a USA. Poté do dotazu přidáš příkazy pro získání data narození nejmladšího a nejstaršího voliče z každé země. Tyto hodnoty chceš vidět na každém řádku, abys je mohl/mohla porovnat s datem narození jednotlivých voličů.
Toto cvičení je součástí kurzu
Funkce pro práci s daty v SQL Serveru
Pokyny k cvičení
- Získej datum narození nejstaršího voliče z každé země.
- Získej datum narození nejmladšího voliče z každé země.
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 AS name,
country,
birthdate,
-- Retrieve the birthdate of the oldest voter per country
___(birthdate)
OVER (PARTITION BY ___ ORDER BY ___) AS oldest_voter,
-- Retrieve the birthdate of the youngest voter per country
___(___)
OVER (___ country ORDER BY ___ ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS youngest_voter
FROM voters
WHERE country IN ('Spain', 'USA');