Összegző függvények használata
Ha tudni szeretnénk, hogy egy táblában összesen hány rekord van használjuk a
COUNT() fgv-t, amely egy adott oszlop összes nem NULL értékét számolja meg.
A COUNT() függvény egysoros eredménylistával tér vissza. Az eredménylista oszlopának a fejlécén a COUNT(id) felirat látható,
az a kifejezés, amit a SELECT lekérdezésben használtunk.
Tetszőleges feliratot is kiírathatunk a képernyőre, erre használható az AS ‹név› feltétel.
SELECT COUNT(id) AS sorok_szama FROM ‹ táblázat ›
Az előző lekérdezés futtatásakor megjelik a felirat és alatta egy szám.
Ha a SELECT nem tartalmaz WHERE komponenest, akkor a COUNT() a teljes forrástáblázatra vonatkozik,
különben csak a WHERE-ben kiválasztott sorokat összegzi.
A COUNT() fgv-t használhatjuk a DISTINCT kifejezéssel együtt. Ekkor a COUNT(id) az „id” oszlop különböző elemeit számolja össze.
Alapvető fgv-ek közé tartoznak még a MIN(), MAX(), SUM(), AVG(). A MIN a legkisebb, a MAX a legnagyobb érték kiválasztására szolgál, a SUM(id) az oszlopkifejezés szerinti értékek összegét adja, az AVG(id) az oszlopkifejezésben szereplő értékek átlagát adja.
A SUM() és az AVG() fgv-ek mellett is megengedett a DISTINCT használata, ekkor a megfelelő oszlopban azonos értéket tartalmazó sorokat csak egyszer vesszük figyelembe.
$$\ \ $$
Feladatok: Dolgozz az utazas adatbázissal!
- Hányfajta utazást kínálunk?(utak)
- Hányfajta országba kínálunk utakat?(orszagok)
- Mennyi a minimális, a maximális és az átlagos út ár?(arak)
- Hány Görögországba tartó út van? (gorog)
- Mennyi lenne az utak árának összege, ha mindből egyet foglalnának?(osszeg)
$$\ \ $$
Sorok csoportosítása: GROUP BY komponens
A GROUP BY feltétel a SELECT utasítás része, amely lényegében összevonja az eredményhalmaz bizonyos elemeit.
A SELECT utasítás WHERE feltételében kiválasztott sorokat –a WHERE elmaradása esetén az egész
forrástáblázatot- a GROUP BY utasítás oly módon csoportosítja, hogy egy csoportba szervezi mindazokat a sorokat,
amelyekben a GROUP BY után megnevezett oszlopok azonos értéket tartalmaznak.
Az eredmény-táblázatban ezek a sorok egy összevont sorban jelennek meg.
Ha a SELECT lista összegzőfüggvényt is tartalmaz akkor az összegzőfüggvényeket a megfelelő –összevont –
sor által reprezentált csoportokra kell értelmezni.
Így pl. az AVG() a csoportátlagot, a MIN() a csoportminimumot adja, a COUNT() a csoportba tartozó sorok számát.
$$\ \ $$
Feladatok: Dolgozz az utazas adatbázissal!
- Országonként mennyi az átlagos időtartama az utaknak?(atl_ido)
- Melyik országba hány utat szerveznek?(orszag_utak)
- A szállás kategóriája, azon belül az út típusa szerint hány út van? (szallas_utak)
- Júliusban út típusonként maximum mennyi bevételre számíthatunk,
az utak neve szerint névsorban megjelenítve?(jul_tipusok)
$$\ \ $$