Kom igångKom igång gratis

Hämta det första och sista värdet

De analytiska funktioner som returnerar det första eller sista värdet från en sorterad lista är mycket användbara i frågor. I den här övningen får du bekanta dig med dem. Syntaxen är:

  • 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)

Du ska skriva en fråga som hämtar alla väljare från Spanien och USA. Sedan lägger du till kommandon i frågan för att hämta födelsedatumet för den yngsta och den äldsta väljaren från varje land. Du vill se dessa värden på varje rad för att kunna jämföra dem med varje väljares födelsedatum.

Den här övningen är en del av kursen

Funktioner för datamanipulering i SQL Server

Visa kurs

Övningsinstruktioner

  • Hämta födelsedatumet för den äldsta väljaren från varje land.
  • Hämta födelsedatumet för den yngsta väljaren från varje land.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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');
Redigera och kör kod