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

bookLauseiden Järjestys

Tilastollisessa analyysissämme meidän täytyy laskea asemien määrä jokaisella metrolinjalla ja järjestää ne nousevaan järjestykseen asemien lukumäärän perusteella.

Tämä tarkoittaa, että meidän tulee ensin määrittää asemien määrä jokaiselle metrolinjalle ja sitten järjestää linjat siten, että vähiten asemia sisältävä linja tulee ensin ja eniten asemia sisältävä viimeiseksi.

Tämä tieto auttaa rakennusyritystä päättämään, mille metrolinjoille asemia tulisi lisätä ensisijaisesti.

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

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

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

Tarkastellaan esimerkkiä tällaisesta lauseiden järjestyksestä käyttäen employee-taulua. Oletetaan, että haluamme hakea työntekijöiden määrän jokaisessa department-sarakkeessa, joiden salary on yli 70000, ja järjestää ne pienimmästä suurimpaan:

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ämällä taulua metro_travel_time, selvitä asemien määrä (luo uusi sarake nimeltä number_of_stations käyttäen station_name-saraketta ja COUNT()-funktiota) jokaiselle linjalle (line_name). Järjestä 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-sarakkeesta.
  • Lisää aliaksena number_of_stations toiselle sarakkeelle.
  • Ryhmittele tiedot line_name-sarakkeen mukaan.
  • Järjestä tulos number_of_stations-sarakkeen mukaan.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain why the WHERE clause comes before GROUP BY in SQL?

Could you show how this would look for the metro lines and stations example?

What happens if I change the order of these SQL clauses?

close

bookLauseiden Järjestys

Pyyhkäise näyttääksesi valikon

Tilastollisessa analyysissämme meidän täytyy laskea asemien määrä jokaisella metrolinjalla ja järjestää ne nousevaan järjestykseen asemien lukumäärän perusteella.

Tämä tarkoittaa, että meidän tulee ensin määrittää asemien määrä jokaiselle metrolinjalle ja sitten järjestää linjat siten, että vähiten asemia sisältävä linja tulee ensin ja eniten asemia sisältävä viimeiseksi.

Tämä tieto auttaa rakennusyritystä päättämään, mille metrolinjoille asemia tulisi lisätä ensisijaisesti.

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

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

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

Tarkastellaan esimerkkiä tällaisesta lauseiden järjestyksestä käyttäen employee-taulua. Oletetaan, että haluamme hakea työntekijöiden määrän jokaisessa department-sarakkeessa, joiden salary on yli 70000, ja järjestää ne pienimmästä suurimpaan:

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ämällä taulua metro_travel_time, selvitä asemien määrä (luo uusi sarake nimeltä number_of_stations käyttäen station_name-saraketta ja COUNT()-funktiota) jokaiselle linjalle (line_name). Järjestä 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-sarakkeesta.
  • Lisää aliaksena number_of_stations toiselle sarakkeelle.
  • Ryhmittele tiedot line_name-sarakkeen mukaan.
  • Järjestä tulos number_of_stations-sarakkeen mukaan.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2
single

single

some-alt