Haaste: Kokonaisaika Kullekin Subway-Reitille
Rakennusyritys suunnittelee lisäävänsä lisää asemia Keltaiselle metrolinjalle.
Tehtävämme on määrittää kunkin metrolinjan kokonaismatka-aika. Tämä tieto on ratkaisevan tärkeää yritykselle, jotta se voi suunnitella Keltaisen linjan huoltoa ja laajennusta aiheuttamatta liikaa haittaa matkustajille.
Löytääksemme kokonaismatka-ajan, meidän on laskettava matkustusaikojen summa kullekin asemalle käyttämällä SUM()
-funktiota.
Huomio
Laskemalla matkustusaikojen summa kullekin asemalle saamme selville ajan, joka kuluu junan matkustamiseen linjan toisesta päästä toiseen. Kuitenkin, jotta löydämme kokonaiskääntöajan (ajan edestakaiseen matkaan), meidän on kerrottava tämä summa kahdella.
Katsotaanpa esimerkkiä käyttäen metro_travel_time
-taulukkoa.
Oletetaan, että haluamme löytää linjan, jolla on eniten asemia.
SELECT line_name, COUNT(station_name) AS station_count FROM metro_travel_time GROUP BY line_name ORDER BY station_count DESC
Palataan takaisin tehtävään, sillä työntekijät odottavat tuomiotamme metroaseman laajennuksesta.
Swipe to start coding
Laske kunkin metrolinjan kääntöaika. Tee tämä käyttämällä SUM()
, ryhmittele tiedot ja järjestä nousevaan järjestykseen.
Huomautus
Nimeä uusi sarake
turnaround_time
, jotta ratkaisusi voidaan testata onnistuneesti. Älä myöskään unohda kertoa ajan summaa 2:lla.
Lyhyet ohjeet
- Hae
line_name
-sarake jatime_to_next_station
-sarakkeen summa. - Kerro toinen sarake 2:lla käyttäen kaavaa
SUM(time_to_next_station) * 2
. - Lisää alias
turnaround_time
toiseen sarakkeeseen. - Ryhmittele tiedot
line_name
mukaan. - Järjestä tulokset
turnaround_time
mukaan.
Ratkaisu
Kiitos palautteestasi!