CommencerCommencez gratuitement

Calculer le temps d’arrivée en minutes

En tant que développeur ou développeuse guidé(e) par les données, vous pouvez être amené(e) à rendre l’information plus accessible aux utilisateurs.

La table train_schedule fournit les heures d’arrivée et les noms de station pour deux lignes de train. Ces données proviennent d’une ligne de train de banlieue reliant San Francisco aux villes situées au sud.

Vous faites partie d’une équipe qui développe une application pour rendre les horaires de train plus utiles aux navetteurs. L’une des fonctionnalités demandées est une option permettant de voir en un coup d’œil le temps nécessaire pour aller du premier arrêt de la ligne aux arrêts suivants.

Cet exercice fait partie du cours

<cours>Analyse des séries temporelles dans PostgreSQL</cours>
Voir le cours

Instructions de l’exercice

  • Dans l’expression de table commune, récupérez la première arrival_time pour chaque ligne, correspondant à l’heure d’arrivée à la première station de la ligne.
  • À l’aide de EXTRACT(), calculez la différence de chaque heure d’arrivée par rapport à la première station de la ligne, mesurée en minutes entières.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

-- Get first arrival time for each line
WITH start_times AS
(
	SELECT train_id, ___ AS start_time
	FROM train_schedule
	___
)
SELECT
	train_id,
	station,
	arrival_time,
	-- Relative time difference from first station in minutes
	(___(___ (___))) 
    	___ AS total_minutes
FROM train_schedule JOIN start_times USING(train_id)
ORDER BY train_id, arrival_time;
Modifier et exécuter le code