Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Group By -Lauseke | Ryhmittely
SQL Jatkotasolla
Osio 1. Luku 1
single

single

Group By -Lauseke

Pyyhkäise näyttääksesi valikon

Tervetuloa Intermediate SQL -kurssille!

Ensimmäisessä osiossa perehdytään siihen, miten voit ryhmitellä ja yhdistellä tietoja tauluissasi.

Tässä esimerkki siitä, mitä 'tietojen ryhmittely' tarkoittaa käyttäen yksinkertaista employees-taulua:

Datan ryhmittely

Tehtävänä on selvittää työntekijöiden määrä jokaisessa osastossa. Tätä varten data ryhmitellään department-sarakkeen mukaan ja käytetään aggregointia COUNT(*)-funktion avulla.

Toteutus näyttää tältä:

123
SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department

Kuten huomaat, syntaksi datan ryhmittelyyn näyttää tältä:

SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1
Note
Huomio

AGG_FUNC tarkoittaa aggregaattifunktioita, kuten MAX, MIN, COUNT jne.

Tätä syntaksia käytetään tiettyjen arvojen etsimiseen aggregaattifunktioiden avulla tietyissä sarakkeissa.

Tässä toinen esimerkki: tehtävänä on löytää osasto, jolla on korkein keskipalkka.

Tällaisten tietojen hakemiseksi tiedot täytyy ryhmitellä department-sarakkeen mukaan ja käyttää sitten AVG()-funktiota keskipalkan laskemiseen:

123
SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department

Tässä osiossa työskentelet Montrealin metrojärjestelmän tietokannan kanssa, joka sisältää taulun metro_travel_time.

Tämä taulukko sisältää tietoa asemalinjasta (line_name), sen nimestä (station_name) ja ajasta, joka junalta kestää matkustaa asemalta seuraavalle asemalle (time_to_next_station).

Tältä tämä taulukko näyttää ja tässä on esikatselu datasta:

Kuten huomaat, tämä ei ole monimutkainen taulukko. Mieti, missä voimme käyttää ryhmittelyä tässä.

Ilmeisin vaihtoehto on ryhmittely metrolinjojen värien mukaan. Tämä tarkoittaa, että voimme yhdistää tietoja ryhmittelemällä ne metrolinjan värin mukaan.

Alias

Tehtävissä käytetään usein käsitettä nimeltä alias. Alias on käytännössä sarakkeen "lempinimi", jonka määrität SELECT-lauseessa. Alias määritellään seuraavalla syntaksilla:

SELECT column AS alias

Alias vaikuttaa vain siihen, miten sarake näkyy vastauksessa.

Esimerkiksi MAX(time)-sarakkeen nimi voidaan muuttaa muotoon max_time, jos sille annetaan kyseinen alias. Tämä tekee tuloksesta luettavamman ja selkeämmän.

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Tehtävänäsi on löytää pisin aika seuraavalle asemalle jokaisella linjalla. Tämä auttaa määrittämään pisimmän matkustusajan asemien välillä jokaisella metro-linjalla. Käytä tähän MAX()-funktiota ja nimeä tulosaliaksesi max_time, ryhmitellen tiedot line_name-sarakkeen mukaan.

Lyhyet ohjeet

  • Hae line_name-sarake ja suurin arvo time_to_next_station-sarakkeesta taulusta metro_travel_time.
  • Lisää aliaksena max_time suurimmalle arvolle.
  • Ryhmittele tiedot line_name-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 1
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

some-alt