Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Aggregaattifunktiot (1)

Samankaltaiset esitykset


Esitys aiheesta: "Aggregaattifunktiot (1)"— Esityksen transkriptio:

1 Aggregaattifunktiot (1)
Mahdollistavat usean rivin yhdistämisen yhdeksi tulostaulun riviksi SQL:ssä seuraavat aggregaattifunktiot: Lukumäärä COUNT Maksimi MAX, minimi MIN Keskiarvo AVG Summa SUM

2 Aggregaattifunktiot (2)
Kirjoitetaan kyselyn SELECT-osaan muodossa Funktio(Attribuutti) Kyselyssä lisäksi normaalit osat FROM ja WHERE, jotka toimivat normaalisti

3 Aggregaattifunktiot (3)
SELECT-osa voi sisältää vain aggregaattifunktioita, tuloksessa vain 1 rivi Edellyttäen, että ryhmittelyattribuutteja ei käytetä Aggregaattifunktioita sisältävät kyselyt evaluoidaan tavalliseen tapaan Muodostetaan FROM-osan relaatio Valitaan WHERE-osassa määritellyt rivit Lasketaan SELECT-osassa määritellyt aggregaattifunktiot

4 COUNT(Attribuutti) Palauttaa attribuutin arvojen määrän
Arvojen ei tarvitse poiketa toisistaan, joten laskee käytännössä relaation rivien määrän Em. syystä attribuutin sijasta voidaan käyttää myös jokerimerkkiä * SELECT COUNT(*) FROM Toimittaja; SELECT COUNT(*) FROM Asiakas, Tilaus WHERE Etunimi=’Hanhikki’ AND AsiakasId=Asiakas.Id; SELECT COUNT(DISTINCT AsiakasId) FROM Tilaus;

5 MAX(Attribuutti), MIN(Attribuutti)
Palauttavat attribuutin arvojen maksimin tai minimin Edellytyksenä, että attribuutin arvojoukko on järjestetty SELECT MAX(Hinta) FROM Tuote; SELECT MIN(Hinta) AS Minimi, MAX(Hinta) AS Maksimi FROM Asiakas, Tilaus, Tuote WHERE Asiakas.Etunimi=’Laupias’ AND Asiakas.Id=AsiakasId AND Tuote.Id=TuoteId;

6 AVG(Attribuutti) Palauttaa attribuutin arvojen keskiarvon
Edellytyksenä, että attribuutin arvojoukko on lukujoukko SELECT AVG(Hinta) FROM Tuote, Toimittaja WHERE Toimittaja.Nimi=’Jaskan vimpain’ AND ToimittajaId=Toimittaja.Id;

7 SUM(Attribuutti) Palauttaa attribuutin arvojen summan
Edellytyksenä, että attribuutin arvojoukko on lukujoukko SELECT SUM(Hinta) FROM Asiakas, Tilaus, Tuote WHERE Asiakas.Etunimi=’Laupias’ AND Asiakas.Id=AsiakasId AND Tuote.Id=TuoteId;

8 Ryhmittelyattribuutit (1)
Toisinaan on tarpeen kohdistaa funktiot pienempiin kokonaisuuksiin Esim. hae kunkin jotain tilanneen asiakkaan tilausten arvo Lisätään kyselyyn GROUP BY –osa, jossa luetellaan ryhmittelyattribuutit

9 Ryhmittelyattribuutit (2)
Evaluointijärjestys Muodostetaan FROM-osan relaatio, Valitaan WHERE-osassa luetellut rivit Etsitään ryhmittelyattribuuttien erilaiset arvoyhdelmät; jokaista erilaista yhdistelmää kohden tuloksessa on yksi rivi Lasketaan arvoyhdelmille SELECT-osassa luetellut aggregaattifunktiot SELECT-osassa vain aggregaattifunktioita ja ryhmittelyattribuutteja!

10 Ryhmittelyattribuutit (3)
SELECT ToimittajaId, MIN(Hinta), MAX(Hinta) FROM Tuote GROUP BY ToimittajaId;

11 Ryhmittelyattribuutit (4)
Hae toimittajien nimet sekä kunkin toimittaja toimittamien tuotteiden minimi- ja maksimihinta SELECT Toimittaja.Nimi, MIN(Hinta), MAX(Hinta) FROM Tuote, Toimittaja WHERE ToimittajaId=Toimittaja.Id GROUP BY Toimittaja.Nimi;

12 Ryhmittelyattribuutit (5)


Lataa ppt "Aggregaattifunktiot (1)"

Samankaltaiset esitykset


Iklan oleh Google