Cours SQL :
L'agglomération de Washington DC a mis en place un réseau de vélos en libre-service dans toute la ville. Pour anticiper la maintenance des vélos (graissage de chaines, câbles de freins, pression des pneus), le responsable de l'atelier a besoin de savoir quels sont les vélos qui ont roulé le plus longtemps ?
Nous sommes le 1er avril 2012, les données sur l'utilisation des vélos pendant le dernier trimestre viennent d'être publiées dans une base de données. Ta mission sera d'écrire une requête SQL sur la base de données afin d'obtenir la liste des 300 vélos qui ont été le plus utilisés pendant le dernier trimestre.
-
Crée un compte sur l'application Mode, tu peux te connecter facilement avec ton compte Google si tu en as un.
-
Une fois connecté, crée une nouvelle requête en cliquant sur l'icon
+
vert situé en haut à droite -
Tu vas arriver sur cet écran
Lis le contenu de la table avec les données des vélos de Washington
SELECT * FROM tutorial.dc_bikeshare_q1_2012
-
Écris ta requête afin d'afficher 2 colonnes:
bike_number
, le numéro d'identification du véloduration_hours
, le nombre total d'heures d'utilisation de chaque vélo, avec le vélo le plus utilisé en premier Indice: 1 heure = 3600 secondes
-
Une fois le résultat voulu obtenu, partage le rapport en cliquant sur share en haut à gauche et poste le Report Link en guise de solution.
Un exemple de rapport : Où se font les investissements dans l'éducation ?
-
Trucs et astuces...
Plutôt que de faire directement la requête demandée en un seul coup, essaye de construire la requête avec les étapes suivantes :
- Fais une sélection des
bike_number
etduration_seconds
sur la table, - Organise les résultats sur
duration_seconds
en allant du plus grand au plus petit, - Limite les résultats à 300,
- Trouve un moyen de modifier la valeur
duration_seconds
pour la passer en heure, et de changer le nom de la colonne de résultat enduration_hours
, - Groupe les résultats par
bike_number
(il y a plusieurs fois les mêmesbike_number
dans les résultats), - Fais la somme des
duration_seconds
pour chaque ligne debike_number
(par défaut, quand on groupe, cela prend le premier résultat de chaque colonne, il faut donc utiliser un système pour ajouter les valeurs de la colonneduration_seconds
), - Trucs et astuces 2... Une série de ressources si tu es toujours bloqué :
- L'alias : https://www.youtube.com/watch?v=cIYZaYwIoC4 & https://www.youtube.com/watch?v=pk3EzzXpb9Q&t=2s
- Les agrégats : https://www.youtube.com/watch?v=TOsfE-VgRcE & https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
- Les limites : https://www.youtube.com/watch?v=VJAdDxG7hDA
- Le
group by
mis en pratique : https://www.youtube.com/watch?v=zD7sf-3KMrA&feature=youtu.be
- La liste contient 300 vélos
- Des colonnes ont comme titre
bike_number
etduration_hours
- Les vélos les plus utilisés sont les premiers de la liste
- Le temps d'utilisation maximum est d’environ 175 heures