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ä:
123SELECT 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
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:
123SELECT 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.
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 arvotime_to_next_station-sarakkeesta taulustametro_travel_time. - Lisää aliaksena
max_timesuurimmalle arvolle. - Ryhmittele tiedot
line_name-sarakkeen mukaan.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme