Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Lausekkeiden Järjestys | Ryhmittely
Keskitaso SQL

book
Lausekkeiden Järjestys

Tilastollisessa analyysissämme meidän on laskettava asemien määrä jokaisella metrolinjalla ja lajiteltava ne nousevaan järjestykseen asemien määrän perusteella.

Tämä tarkoittaa, että meidän pitäisi ensin määrittää asemien määrä jokaiselle metrolinjalle ja sitten järjestää ne linjasta, jossa on vähiten asemia, siihen, jossa on eniten.

Tämä tieto auttaa rakennusyritystä päättämään, mitkä metrolinjat tulisi priorisoida lisäämään enemmän asemia.

Tätä varten on tärkeää ymmärtää SQL-lauseiden järjestys, erityisesti mihin GROUP BY -lauseke sijoitetaan.

Järjestys näyttää tältä:

  1. SELECT -lause;
  2. FROM table;
  3. WHERE -lauseke;
  4. GROUP BY -lauseke;
  5. ORDER BY -lauseke;
  6. LIMIT -lauseke.

Tarkastellaan esimerkkiä tällaisesta lausejärjestyksestä käyttäen employee-taulukkoamme. Oletetaan, että meidän on haettava työntekijöiden määrä jokaisessa department, jonka salary on yli 70000 ja lajiteltava ne pienimmästä suurimpaan:

SELECT department, COUNT(employee_id) AS number_of_employees
FROM employees
WHERE salary > 70000
GROUP BY department
ORDER BY number_of_employees
12345
SELECT department, COUNT(employee_id) AS number_of_employees FROM employees WHERE salary > 70000 GROUP BY department ORDER BY number_of_employees
copy
Tehtävä

Swipe to start coding

Käyttäen metro_travel_time-taulukkoa, etsi asemien määrä (luo uusi sarake, nimeltään number_of_stations käyttäen station_name ja COUNT()-funktiota) kullekin linjalle (line_name). Seuraavaksi lajittele tulos pienimmästä suurimpaan.

Huomio

COUNT(column) on funktio, joka laskee rivien määrän.

Lyhyet ohjeet

  • Hae line_name ja rivien määrä station_name-sarakkeessa.
  • Lisää alias number_of_stations toiseen sarakkeeseen.
  • Ryhmittele tiedot line_name mukaan.
  • Lajittele tulos number_of_stations mukaan.

Ratkaisu

SELECT line_name, COUNT(station_name) AS number_of_stations
FROM metro_travel_time
GROUP BY line_name
ORDER BY number_of_stations

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2

toggle bottom row
Query ResultQuery Result
No query executed yet...
some-alt