Udfordring: Samlet Køretid for Hver Subwaylinje
Bygningsfirmaet planlægger at tilføje flere stationer til den gule metrolinje.
Vores opgave er at bestemme den samlede rejsetid for hver metrolinje. Denne information er afgørende for firmaet til at planlægge vedligeholdelse og udvidelse af den gule linje uden at forårsage for meget ulejlighed for passagererne.
For at finde den samlede rejsetid, skal vi beregne summen af rejsetiderne til hver station ved hjælp af SUM()
funktionen.
Bemærk
Beregning af summen af rejsetiderne til hver station giver os den tid, det tager for et tog at rejse fra den ene ende af linjen til den anden. Men for at finde den samlede vendetid (tiden for en rundtur), skal vi multiplicere denne sum med 2.
Lad os se på et eksempel ved hjælp af en metro_travel_time
tabel.
Antag, at vi ønsker at finde linjen med flest stationer.
SELECT line_name, COUNT(station_name) AS station_count FROM metro_travel_time GROUP BY line_name ORDER BY station_count DESC
Lad os vende tilbage til opgaven, fordi arbejderne venter på vores dom om udvidelsen af metrostationen.
Swipe to start coding
Beregn vendtiden for hver af metrolinjerne. For at gøre dette, brug SUM()
, grupper dataene, og sorter i stigende rækkefølge.
Bemærk
Navngiv den nye kolonne
turnaround_time
, så din løsning kan testes korrekt. Glem heller ikke at multiplicere summen af tiden med 2.
Korte instruktioner
- Hent
line_name
kolonnen og summen aftime_to_next_station
kolonnen. - For den anden kolonne, multiplicer den med 2 ved hjælp af formlen
SUM(time_to_next_station) * 2
. - Tilføj aliaset
turnaround_time
til den anden kolonne. - Grupper dataene efter
line_name
. - Sorter resultaterne efter
turnaround_time
.
Løsning
Tak for dine kommentarer!