Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Total Körtid för Varje Subwaylinje | Gruppering
Intermediär SQL

book
Utmaning: Total Körtid för Varje Subwaylinje

Byggföretaget planerar att lägga till fler stationer till den gula tunnelbanelinjen.

Vår uppgift är att bestämma den totala restiden för varje tunnelbanelinje. Denna information är avgörande för företaget att planera underhåll och expansion av den gula linjen utan att orsaka för mycket besvär för passagerarna.

För att hitta den totala restiden behöver vi beräkna summan av restiderna till varje station med hjälp av SUM()-funktionen.

Notera

Att beräkna summan av restiderna till varje station ger oss tiden det tar för ett tåg att resa från ena änden av linjen till den andra. Men för att hitta den totala vändtiden (tiden för en tur och retur) behöver vi multiplicera denna summa med 2.

Låt oss titta på ett exempel med en metro_travel_time-tabell.

Anta att vi vill hitta 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
1234
SELECT line_name, COUNT(station_name) AS station_count FROM metro_travel_time GROUP BY line_name ORDER BY station_count DESC
copy

Låt oss återgå till uppgiften eftersom arbetarna väntar på vårt beslut om utbyggnaden av tunnelbanestationen.

Uppgift

Swipe to start coding

Beräkna vändtiden för var och en av tunnelbanelinjerna. För att göra detta, använd SUM(), gruppera data och ordna i stigande ordning.

Notera

Namnge den nya kolumnen turnaround_time så att din lösning kan testas framgångsrikt. Glöm inte heller att multiplicera summan av tiden med 2.

Kortfattade instruktioner

  • Hämta kolumnen line_name och summan av kolumnen time_to_next_station.
  • För den andra kolumnen, multiplicera den med 2 med formeln SUM(time_to_next_station) * 2.
  • Lägg till aliaset turnaround_time till den andra kolumnen.
  • Gruppera data efter line_name.
  • Sortera resultaten efter turnaround_time.

Lösning

SELECT line_name, SUM(time_to_next_station) * 2 AS turnaround_time
FROM metro_travel_time
GROUP BY line_name
ORDER BY turnaround_time ASC

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 3

Query ResultQuery Result
No query executed yet...

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

some-alt