Összesítő függvények egyetlen értéket számítanak ki sorok egy halmazából — COUNT, SUM, AVG, MIN, . Nélkülözhetetlen adatok összefoglalásához (összegek, átlagok, számok), különösen a kombinálásával.
Összesítő függvények egyetlen értéket számítanak ki sorok egy halmazából — COUNT, SUM, AVG, MIN, . Nélkülözhetetlen adatok összefoglalásához (összegek, átlagok, számok), különösen a kombinálásával.
MAXGROUP BYSELECT
COUNT(*) AS total_rows, -- count all rows
COUNT(email) AS rows_with_email, -- count NON-NULL emails (ignores NULLs!)
SUM(amount) AS total_amount, -- sum of a column
AVG(price) AS average_price, -- average
MIN(price) AS lowest, -- minimum
MAX(price) AS highest -- maximum
FROM orders;
Minden függvény sok sort redukál egy értékre. Az SUM/AVG számokra működik; a MIN/MAX számokra, dátumokra vagy szövegre; a COUNT bármi megszámlálásához.
COUNT(*) -- counts ALL rows (including those with NULLs)
COUNT(email) -- counts only rows where email is NOT NULL
COUNT(DISTINCT country) -- counts UNIQUE non-null values
A COUNT(*) az összes sort számolja, de a COUNT(column) csak azokat a sorokat számolja, ahol az adott oszlop nem NULL — ez egy finom, de fontos különbség. A COUNT(DISTINCT col) az egyedi értékeket számolja.
-- aggregate PER GROUP instead of the whole table
SELECT country, COUNT(*) AS users, AVG(age) AS avg_age
FROM users
GROUP BY country; -- one result row per country
-- → for each country: how many users and their average age
GROUP BY nélkül az összesítő függvény az egész eredményt egy sorba foglalja össze. GROUP BY-val csoportonként egy-egy összefoglaló sort állít elő — a tipikus, hatékony felhasználás.
-- ❌ ERROR — can't mix an aggregate with a non-grouped column
SELECT name, COUNT(*) FROM users; -- which name? ambiguous
-- ✅ either group by it, or only select aggregates
SELECT country, COUNT(*) FROM users GROUP BY country;
Az összesítő függvények lényegesek az adatok összefoglalásához és elemzéséhez — az összegek, átlagok, számok és szélsőértékek számítása állandó szükséglet a jelentésekben, elemzésekben, irányítópultokban és az alkalmazáslogikában, így az ezek megértése alapvető SQL-ismeret.
A fő függvények ismerete (COUNT, SUM, AVG, MIN, MAX) és az, hogyan redukálnak sorhalmozokat egyetlen értékekre, szükséges bármilyen adatösszefoglaláshoz.
Egy fontos, gyakran félreértett részlet a COUNT(*) vs COUNT(column) megkülönböztetés (COUNT(*) az összes sort számolja, COUNT(column) csak a nem NULL értékeket — ami eltérő, meglepő eredményt adhat), valamint a COUNT(DISTINCT) az egyedi értékekhez.
Leginkább az összesítők kombinálódnak a GROUP BY-val, hogy csoportonkénti összefoglalókat eredményezzenek (számok/átlagok kategóriánként) — az analitikus lekérdezések alapja.
Annak megértése, hogy mi az a buktatópont — hogy nem lehet keverni az összesítéseket nem csoportosított oszlopokkal (gyakori hiba) — szintén fontos.
Mivel az adatok összefoglalása mindig ismétlődő adatbázis-feladat (minden jelentés, irányítópult és analitikus lekérdezés összesítéseket használ), és mivel a függvények, a COUNT subtilitások, különösen pedig azok GROUP BY-val való kombinálása alapvető az SQL-ben végzett adatelemzéshez, az összesítő függvények elsajátítása alapvető, gyakran alkalmazott tudás, amely elengedhetetlen az adatokkal való munkához — az alapvető lekérdezéseket és az analitikus, összefoglaló teljesítményt összekapcsolva, amely az SQL-t értékessé teszi a jelentéskészítés és az elemzések szempontjából.