Funksionet agregues llogaritin një vlerë të vetme nga një grup rreshtash — COUNT, SUM, AVG, MIN, . Ato janë thelbësore për përmbledhjen e të dhënave (totalet, mesataret, numerimet), veçanërisht në kombinim me .
Funksionet agregues llogaritin një vlerë të vetme nga një grup rreshtash — COUNT, SUM, AVG, MIN, . Ato janë thelbësore për përmbledhjen e të dhënave (totalet, mesataret, numerimet), veçanërisht në kombinim me .
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;
Secilit funksion i redukton shumë rreshtash në një vlerë. SUM/AVG funksionojnë në numra; MIN/MAX në numra, data ose tekst; COUNT në çdo gjë.
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
COUNT(*) numëron të gjithë rreshtave, por COUNT(kolone) numëron vetëm rreshtava ku ajo kolonë nuk është NULL — një dallim delikat por i rëndësishëm. COUNT(DISTINCT kol) numëron vlerat unike.
-- 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
Bez GROUP BY, një agregues përmbledh të gjithë rezultatin në një rresht. Me GROUP BY, ai prodhon një rresht përmbldhje për secilin grup — përdorimi tipik dhe i fuqishëm.
-- ❌ 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;
Funksionet agregues janë thelbësorë për përmbledhjen dhe analizën e të dhënave — llogaritja e totaleve, mesatareve, numërimeve dhe ekstremeve është një nevojë konstante në raportime, analitika, tabela kontrolli dhe logjikë aplikacioni, prandaj kuptimi i tyre është njohuri themelore SQL.
Përdorimi i funksioneve kryesore (COUNT, SUM, AVG, MIN, MAX) dhe mënyra se si ato redukojnë grupe rreshtash në vlera të vetme është i nevojshëm për çdo përmbledhje të dhënash.
Një detaj i rëndësishëm dhe shpesh jo i kuptuar mirë është dallimi COUNT(*) kundrejt COUNT(kolone) (COUNT(*) numëron të gjithë rreshtava, COUNT(kolone) numëron vetëm vlerat jo-NULL — që mund të japin rezultate të ndryshme, të befasuese), përkatësisht COUNT(DISTINCT) për vlerat unike.
Më fuqishëm, agreguesit kombinohen me GROUP BY për të prodhuar përmbledhje për-grup (numërime/mesatare për kategori) — themeli i pyetjeve analitike.
Kuptimi i gabimit se nuk mund të përziesh agreguesit me kolona jo-grupuara (një gabim i zakonshëm) është gjithashtu i rëndësishëm.
Meqenëse përmbledhja e të dhënave është një detyrë e kudondoqesisë në bazat e të dhënave (çdo raport, tabela kontrolli dhe pyetja analitike përdor agreguesit), dhe meqenëse kuptimi i funksioneve, nyancat e COUNT dhe veçanërisht kombinimi i tyre me GROUP BY është themeli i analizës së të dhënave në SQL, zotërimi i funksioneve agregues është njohuri themelore, shpesh e zbatueshme thelbësore për të punuar me të dhëna — duke u lidhur bazën e pyetjeve dhe fuqinë analitike, përmbledhëse që e bën SQL të vlefshëm për raportim dhe përfundimet.