Nuevo mes, nuevos objetivos. Su ayuda ayuda al proyecto a avanzar. 🖥️ Apoye sqltest →
Código SQL copiado al portapapeles

Conjunto de datos NYC Yellow Taxi (DuckDB): la tabla yellow_tripdata y ejercicios de SQL

yellow_tripdata reúne los viajes de los taxis amarillos de Nueva York de enero de 2024, casi 3 millones de filas, cargados en DuckDB para SQL analítico. En SQLtest.online puedes consultarlos directamente en el navegador: resolver ejercicios con corrección automática y ejecutar tus propias consultas en el playground, sin instalar nada.

  • 1 tabla, 19 columnas
  • 2 964 624 viajes
  • enero de 2024
  • 19 ejercicios de SQL

Qué es NYC Yellow Taxi

Los datos proceden de los registros de viajes que la Comisión de Taxis y Limusinas de Nueva York (TLC) publica cada mes. Cada fila es un viaje: hora de recogida y de llegada, distancia, número de pasajeros, zonas de recogida y destino, forma de pago y cada componente de la tarifa.

DuckDB es una base de datos analítica embebida con almacenamiento en columnas, así que las agregaciones sobre millones de filas tardan fracciones de segundo. Por eso el conjunto es ideal para practicar análisis reales: series temporales, distribuciones, percentiles y limpieza de datos.

Qué contiene la base

Todos los datos están en una sola tabla, yellow_tripdata. Todas las columnas admiten NULL y no hay claves ni restricciones. PULocationID y DOLocationID son números de zonas de taxi de la TLC. Algunos viajes tienen hora de recogida fuera de enero de 2024 y otros importes nulos o negativos: los datos reales hay que limpiarlos, y algunos ejercicios tratan justo de eso.

Cuántos datos hay en las tablas:

TablaFilasContenido
yellow_tripdata2 964 624viajes de los taxis amarillos

Estructura de las tablas

Haz clic en una tabla para ver sus columnas, una fila de ejemplo y sus claves.

Tabla yellow_tripdata

yellow_tripdata - viajes en taxi amarillo.
  • VendorID identificador del proveedor de servicio de taxi.
  • tpep_pickup_datetime fecha y hora de recogida del pasajero.
  • tpep_dropoff_datetime fecha y hora de entrega del pasajero.
  • passenger_count número de pasajeros.
  • trip_distance distancia del viaje.
  • RatecodeID identificador del código de tarifa.
  • store_and_fwd_flag indicador que indica que los datos del viaje fueron almacenados antes de ser enviados.
  • PULocationID identificador de la zona de recogida.
  • DOLocationID identificador de la zona de entrega.
  • payment_type identificador del método de pago.
  • fare_amount tarifa del viaje excluyendo cargos adicionales.
  • extra cargos adicionales.
  • mta_tax impuesto MTA.
  • tip_amount monto de la propina.
  • tolls_amount cargos de peaje.
  • improvement_surcharge recargo por mejora del sistema de transporte.
  • total_amount costo total del viaje.
  • congestion_surcharge recargo por congestión.
  • Airport_fee tarifa de aeropuerto.
estructura de la tabla yellow_tripdata
Nombre de columnaTipoNULLClavePor defectoExtra
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]

Consultas de ejemplo

Estas consultas muestran cómo se relacionan los datos. Copia cualquiera y ejecútala en el playground.

Duración del viaje: date_diff de DuckDB entre la recogida y la llegada.

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 recuento rápido: GROUP BY ALL de DuckDB agrupa por todas las columnas no agregadas.

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

Ejercicios de SQL por tema

Este conjunto de datos tiene 19 ejercicios, desde estadísticas generales hasta series temporales y comprobaciones de calidad. Las soluciones se comprueban automáticamente en un DuckDB real. El número de la derecha es la cantidad de ejercicios del tema; los puntos de color muestran el rango de dificultad.

Por dónde empezar

Los primeros ejercicios de la base NYC Yellow Taxi:

  1. Estadísticas Generales del Viaje
  2. Promedio de Tarifas por Tipo de Pago
  3. Viajes Más Largos
  4. Estadísticas Mensuales
  5. Zonas de Recogida Más Populares
  6. Comparar Propinas por Tipo de Pago
  7. Zonas de Recogida Principales por Mes
  8. Análisis de Viajes de Pasajeros
  9. Eficiencia de Viajes por Rango de Distancia
  10. Zonas con un Costo por Milla Inusualmente Alto

Todos los ejercicios de NYC Yellow Taxi →

Preguntas frecuentes

¿Hay que instalar DuckDB para usar este conjunto de datos?

No. Los ejercicios y el playground de SQLtest.online ejecutan las consultas en nuestros servidores, así que basta con un navegador. En el playground, elige DuckDB.

¿De dónde vienen los datos?

De los datos abiertos de la Comisión de Taxis y Limusinas de Nueva York (TLC), que se publican cada mes en archivos Parquet. Esta copia contiene los viajes de los taxis amarillos de enero de 2024.

¿En qué se diferencia el SQL de DuckDB?

Es parecido al de PostgreSQL, con extras para análisis como GROUP BY ALL, QUALIFY, date_diff y funciones de cuantiles.