6.1 Az összesített függvények listája
Ha az SQL-ben sorcsoportosítást használ az operátorral , akkor az utasításban olyan függvényeket GROUP BY
használhat , amelyek a csoportosított adatokon működnek. SELECT
Az ilyen függvényeket aggregált függvényeknek is nevezik.
Íme a legnépszerűbbek listája:
# | Funkció | Leírás |
---|---|---|
1 | SZÁMOL() | Egy csoportban lévő értékek számát adja vissza |
2 | ÖSSZEG() | Egy csoport értékeinek összegét adja vissza |
3 | MAX() | Egy csoport maximális értékét adja vissza |
4 | MIN() | Egy csoport minimális értékét adja vissza |
5 | AVG() | Egy csoport átlagát adja vissza |
6 | BIT_AND() | Az összes csoportérték felett bitenkénti ÉS-t hajt végre |
7 | BIT_OR() | Bitenkénti VAGY műveletet hajt végre az összes csoportértéken |
8 | BIT_XOR() | Bitenkénti XOR-t hajt végre az összes csoportértéken |
9 | GROUP_CONCAT() | Összefűzi az összes csoportértéket egy karakterláncba |
Most nézzünk néhány példát az összesített függvényeinkre.
6.2 Az alkalmazottak fizetésének elemzése
Számítsunk ki néhány statisztikai adatot alkalmazottainkról az alkalmazottak táblázatából .
Első kérdés: hány alkalmazottunk van?
Ha meg akarjuk tudni a táblázat összes rekordjának számát, akkor ehhez használhatjuk az összesítő függvényt COUNT
. A kérés így fog kinézni:
SELECT COUNT(*) FROM employee
És a MySQL válaszként a 6-os számot adja vissza. Az osztályon 6 alkalmazottunk van, köztük egy macska. Rendben.
Második kérdés: mennyit fizetünk havonta minden alkalmazottnak?
A kérdés megválaszolásához össze kell összegeznünk az összes alkalmazott fizetését. Ehhez az összesítő függvényt használjukSUM()
A kérés így fog kinézni:
SELECT SUM(salary) FROM employee
Vegye figyelembe, hogy ezúttal meg kell adnunk, hogy melyik oszlop értékeit összegezzük. Megadtunk egy fizetés oszlopot . Nem összegezhetjük az összes mezőt egy táblázatban.
A MySQL pedig a 461000-es számot adja vissza válaszként.. Az osztályon 6 fő dolgozik, a fizetés 461 ezer. Túl sok.
És végül a harmadik kérdés: mennyi a maximális és minimális fizetésünk az osztályon? Nos, számoljuk ki az átlagfizetést. Ehhez szükségünk van a MIN
, MAX
és a függvényekre AVG
.
A lekérdezés ezúttal egy kicsit összetettebb lesz, és így fog kinézni:
SELECT MIN(salary), AVG(salary), MAX(salary)
FROM employee
A lekérdezés eredménye a következő lesz:
MIN(fizetés) | AVG (fizetés) | MAX (fizetés) |
---|---|---|
1000 | 76833.3333 | 200 000 |
Osztályunkon a minimálbér 1000 dollár – nagyon jó. A maximális fizetés 200 ezer, de ez az igazgató.
De az átlagfizetés túl magas, valahogy optimalizálni kell a költségeket. Béreljünk még egy macskát és ennyi :)
GO TO FULL VERSION