IniziaInizia gratis

Ottenere il primo e l'ultimo valore

Le funzioni analitiche che restituiscono il primo o l’ultimo valore da un elenco ordinato sono molto utili nelle query. In questo esercizio imparerai a usarle. La sintassi è:

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

Scriverai una query per recuperare tutti gli elettori di Spain e USA. Poi aggiungerai alla query alcuni comandi per ottenere la data di nascita dell’elettore più giovane e di quello più anziano per ciascun paese. Vuoi vedere questi valori su ogni riga, così da poterli confrontare con la data di nascita di ogni elettore.

Questo esercizio fa parte del corso

Funzioni per manipolare i dati in SQL Server

Visualizza il corso

Istruzioni dell'esercizio

  • Recupera la data di nascita dell’elettore più anziano per ciascun paese.
  • Recupera la data di nascita dell’elettore più giovane per ciascun paese.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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');
Modifica ed esegui il codice