Londres, ou como os romanos a chamavam, "Londinium"! Lar de mais de 8,5 milhões de residentes que falam mais de 300 idiomas. Enquanto a City de Londres tem pouco mais de uma milha quadrada (daí o apelido "The Square Mile"), a Grande Londres cresceu para abranger 32 distritos, totalizando uma área de 606 milhas quadradas!
Como as ruas da cidade foram originalmente projetadas para cavalos e carruagens, esse crescimento de área e população exigiu o desenvolvimento de um sistema de transporte público eficiente! Desde o ano 2000, isso é feito pelo órgão do governo local chamado Transport for London, ou TfL, que é gerenciado pelo gabinete do Prefeito de Londres. Sua responsabilidade abrange o metrô de Londres, Overground, Docklands Light Railway (DLR), ônibus, bondes, serviços fluviais (clipper e teleférico Emirates Airline), estradas e até táxis.
O gabinete do Prefeito de Londres disponibiliza seus dados ao público aqui. Neste projeto, você trabalhará com uma versão levemente modificada de um conjunto de dados contendo informações sobre o volume de viagens de transporte público por tipo de transporte.
Os dados foram carregados em um banco de dados Snowflake chamado TFL com uma única tabela chamada JOURNEYS, incluindo os seguintes dados:
TFL.JOURNEYS
| Coluna | Definição | Tipo de dado |
|---|---|---|
MONTH | Mês no formato numérico, por exemplo, 1 equivale a janeiro | INTEGER |
YEAR | Ano | INTEGER |
DAYS | Número de dias no mês informado | INTEGER |
REPORT_DATE | Data em que os dados foram reportados | DATE |
JOURNEY_TYPE | Modalidade de transporte utilizada | VARCHAR |
JOURNEYS_MILLIONS | Milhões de viagens, medido em decimais | FLOAT |
Note que no Snowflake todos os bancos de dados, tabelas e colunas são em letras maiúsculas por padrão.
Você executará consultas SQL para responder a três perguntas, conforme listado nas ins truções.
-- most_popular_transport_types
SELECT JT.JOURNEY_TYPE, SUM(JT.JOURNEYS_MILLIONS) AS TOTAL_JOURNEYS_MILLIONS
FROM TFL.JOURNEYS AS JT
GROUP BY JT.JOURNEY_TYPE
ORDER BY TOTAL_JOURNEYS_MILLIONS DESC-- emirates_airline_popularity
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
AND MONTH IS NOT NULL
AND YEAR IS NOT NULL
ORDER BY ROUNDED_JOURNEYS_MILLIONS DESC
LIMIT 5;-- least_popular_years_tube
SELECT YEAR, JOURNEY_TYPE, SUM(JOURNEYS_MILLIONS) AS TOTAL_JOURNEYS_MILLIONS
FROM TFL.JOURNEYS
WHERE JOURNEY_TYPE LIKE '%Underground%'
GROUP BY YEAR, JOURNEY_TYPE
ORDER BY TOTAL_JOURNEYS_MILLIONS ASC
LIMIT 5;