London, or as the Romans called it "Londonium"! Home to over 8.5 million residents who speak over 300 languages. While the City of London is a little over one square mile (hence its nickname "The Square Mile"), Greater London has grown to encompass 32 boroughs spanning a total area of 606 square miles!
Given the city's roads were originally designed for horse and cart, this area and population growth has required the development of an efficient public transport system! Since the year 2000, this has been through the local government body called Transport for London, or TfL, which is managed by the London Mayor's office. Their remit covers the London Underground, Overground, Docklands Light Railway (DLR), buses, trams, river services (clipper and Emirates Airline cable car), roads, and even taxis.
The Mayor of London's office make their data available to the public here. In this project, you will work with a slightly modified version of a dataset containing information about public transport journey volume by transport type.
The data has been loaded into a Google BigQuery database called TFL with a single table called JOURNEYS, including the following data:
TFL.JOURNEYS
| Column | Definition | Data type | 
|---|---|---|
MONTH | Month in number format, e.g., 1 equals January | INTEGER | 
YEAR | Year | INTEGER | 
DAYS | Number of days in the given month | INTEGER | 
REPORT_DATE | Date that the data was reported | DATE | 
JOURNEY_TYPE | Method of transport used | VARCHAR | 
JOURNEYS_MILLIONS | Millions of journeys, measured in decimals | FLOAT | 
Note that the table name is upper case* by default.
You will execute SQL queries to answer three questions, as listed in the instructions.
-- most_popular_transport_types
WITH most_popular_transport_types AS (
  SELECT 
    JOURNEY_TYPE,
    ROUND(SUM(JOURNEYS_MILLIONS), 2) AS TOTAL_JOURNEYS_MILLIONS
  FROM 
    `TFL.JOURNEYS`
  GROUP BY 
    JOURNEY_TYPE
  ORDER BY 
    TOTAL_JOURNEYS_MILLIONS DESC
)
SELECT * FROM most_popular_transport_types;
-- emirates_airline_popularity
WITH emirates_airline_popularity AS (
	SELECT MONTH, YEAR, ROUND(JOURNEYS_MILLIONS, 2) AS rounded_journeys_millions
	FROM TFL.JOURNEYS
	WHERE JOURNEY_TYPE = 'Emirates Airline'
	AND JOURNEYS_MILLIONS IS NOT NULL
	ORDER BY JOURNEYS_MILLIONS DESC
	LIMIT 5
	
)
SELECT * FROM emirates_airline_popularity;-- least_popular_years_tube
WITH least_popular_years_tube AS (
  SELECT 
    YEAR,
    JOURNEY_TYPE,
    ROUND(SUM(JOURNEYS_MILLIONS), 2) AS TOTAL_JOURNEYS_MILLIONS
  FROM 
    TFL.JOURNEYS
  WHERE 
    JOURNEY_TYPE = 'Underground & DLR'
    AND JOURNEYS_MILLIONS IS NOT NULL
  GROUP BY 
    YEAR, JOURNEY_TYPE
  ORDER BY 
    TOTAL_JOURNEYS_MILLIONS ASC
  LIMIT 5
)
SELECT * FROM least_popular_years_tube;