Nouveau mois, nouveaux objectifs. Votre aide fait avancer le projet. 🖥️ Soutenez sqltest →
Code SQL copié dans le presse-papiers

Jeu de données NYC Yellow Taxi (DuckDB) : la table yellow_tripdata et des exercices SQL

yellow_tripdata contient les courses des taxis jaunes de New York de janvier 2024, près de 3 millions de lignes, chargées dans DuckDB pour du SQL analytique. Sur SQLtest.online, vous les interrogez directement dans le navigateur : vous résolvez des exercices corrigés automatiquement et exécutez vos propres requêtes dans le bac à sable, sans rien installer.

  • 1 table, 19 colonnes
  • 2 964 624 courses
  • janvier 2024
  • 19 exercices SQL

Qu'est-ce que NYC Yellow Taxi

Les données proviennent des relevés de courses que la Taxi and Limousine Commission de New York (TLC) publie chaque mois. Chaque ligne est une course : heures de prise en charge et de dépose, distance, nombre de passagers, zones de départ et d'arrivée, mode de paiement et chaque composante du prix.

DuckDB est une base analytique embarquée à stockage en colonnes : les agrégations sur des millions de lignes s'exécutent en une fraction de seconde. Le jeu de données se prête donc à une vraie analyse : séries temporelles, distributions, percentiles et nettoyage des données.

Contenu de la base

Toutes les données sont dans une seule table, yellow_tripdata. Toutes les colonnes acceptent NULL, sans clé ni contrainte. PULocationID et DOLocationID sont des numéros de zones de taxi de la TLC. Quelques courses ont une heure de départ hors de janvier 2024 et certaines ont des montants nuls ou négatifs : les vraies données doivent être nettoyées, et certains exercices portent justement là-dessus.

Volume de données des tables :

TableLignesContenu
yellow_tripdata2 964 624courses des taxis jaunes

Structure des tables

Cliquez sur une table pour voir ses colonnes, une ligne d'exemple et ses clés.

Table yellow_tripdata

yellow_tripdata - trajets en taxi jaune.
  • VendorID identifiant du fournisseur du service de taxi.
  • tpep_pickup_datetime date et heure de prise en charge du passager.
  • tpep_dropoff_datetime date et heure de dépose du passager.
  • passenger_count nombre de passagers.
  • trip_distance distance du trajet.
  • RatecodeID identifiant du tarif.
  • store_and_fwd_flag indique que les données du trajet ont été stockées avant leur transmission.
  • PULocationID identifiant de la zone de prise en charge.
  • DOLocationID identifiant de la zone de dépose.
  • payment_type identifiant du mode de paiement.
  • fare_amount prix du trajet hors frais supplémentaires.
  • extra frais supplémentaires.
  • mta_tax taxe MTA.
  • tip_amount montant du pourboire.
  • tolls_amount montant des péages.
  • improvement_surcharge contribution à l'amélioration du réseau de transport.
  • total_amount coût total du trajet.
  • congestion_surcharge contribution pour la congestion.
  • Airport_fee frais d'aéroport.
Structure de la table yellow_tripdata
Nom de la colonneTypeNULLCléValeur par défautInformations supplémentaires
VendorIDINTEGERYES[null][null][null]
tpep_pickup_datetimeTIMESTAMPYES[null][null][null]
tpep_dropoff_datetimeTIMESTAMPYES[null][null][null]
passenger_countBIGINTYES[null][null][null]
trip_distanceDOUBLEYES[null][null][null]
RatecodeIDBIGINTYES[null][null][null]
store_and_fwd_flagVARCHARYES[null][null][null]
PULocationIDINTEGERYES[null][null][null]
DOLocationIDINTEGERYES[null][null][null]
payment_typeBIGINTYES[null][null][null]
fare_amountDOUBLEYES[null][null][null]
extraDOUBLEYES[null][null][null]
mta_taxDOUBLEYES[null][null][null]
tip_amountDOUBLEYES[null][null][null]
tolls_amountDOUBLEYES[null][null][null]
improvement_surchargeDOUBLEYES[null][null][null]
total_amountDOUBLEYES[null][null][null]
congestion_surchargeDOUBLEYES[null][null][null]
Airport_feeDOUBLEYES[null][null][null]

Exemples de requêtes

Ces requêtes montrent comment les données sont reliées. Copiez-en une et exécutez-la dans le bac à sable.

Durée de la course : date_diff de DuckDB entre la prise en charge et la dépose.

SELECT tpep_pickup_datetime,
       date_diff('minute', tpep_pickup_datetime, tpep_dropoff_datetime) AS minutes,
       trip_distance, total_amount
FROM yellow_tripdata
WHERE tpep_pickup_datetime >= '2024-01-01'
ORDER BY tpep_pickup_datetime
LIMIT 3;
tpep_pickup_datetimeminutestrip_distancetotal_amount
2024-01-01 00:00:0020.311.25
2024-01-01 00:00:0241.5716.32
2024-01-01 00:00:0330.57.6

Un comptage rapide : le GROUP BY ALL de DuckDB regroupe par toutes les colonnes non agrégées.

SELECT store_and_fwd_flag, COUNT(*) AS trips
FROM yellow_tripdata
GROUP BY ALL
ORDER BY trips DESC;
store_and_fwd_flagtrips
N2813126
NULL140162
Y11336

Exercices SQL par thème

Ce jeu de données compte 19 exercices, des statistiques globales jusqu'aux séries temporelles et aux contrôles de qualité. Les solutions sont vérifiées automatiquement sur un vrai DuckDB. Le nombre à droite indique combien d'exercices compte le thème ; les points colorés montrent la plage de difficulté.

Par où commencer

Les premiers exercices sur la base NYC Yellow Taxi :

  1. Statistiques Globales des Voyages
  2. Tarif Moyen par Type de Paiement
  3. Les voyages les plus longs
  4. Statistiques Mensuelles
  5. Zones de Prise en Charge les Plus Populaires
  6. Comparer les pourboires par type de paiement
  7. Zones de Ramassage Principales par Mois
  8. Analyse des trajets des passagers
  9. Efficacité des trajets par plage de distance
  10. Zones avec un coût par mile inhabituellement élevé

Tous les exercices NYC Yellow Taxi →

Questions fréquentes

Faut-il installer DuckDB pour utiliser ce jeu de données ?

Non. Les exercices et le bac à sable de SQLtest.online exécutent les requêtes sur nos serveurs : un navigateur suffit. Dans le bac à sable, choisissez DuckDB.

D'où viennent les données ?

Des données ouvertes de la Taxi and Limousine Commission de New York (TLC), publiées chaque mois au format Parquet. Cette copie contient les courses des taxis jaunes de janvier 2024.

En quoi le SQL de DuckDB est-il différent ?

Il est proche de PostgreSQL, avec des ajouts pour l'analyse comme GROUP BY ALL, QUALIFY, date_diff et des fonctions de quantiles.