Aggregeringsfunktioner (COUNT, SUM, AVG, MAX, MIN)
It A · STX · A-niveau · Databaser og datamodellering
💻 Aggregeringsfunktioner (COUNT, SUM, AVG, MAX, MIN)
Aggregeringsfunktioner = SQL-funktioner der opsummerer flere rækker til én værdi.
5 standard-funktioner:
1. *COUNT()** — antal rækker (inkl. NULL).
COUNT(kolonne) — antal IKKE-NULL værdier.
COUNT(DISTINCT kolonne) — antal unikke værdier.
2.
SUM(kolonne) — summen af kolonne-værdier (kun numeriske). NULL ignoreres.
3.
AVG(kolonne) — gennemsnit (sum/count). NULL ignoreres.
4.
MAX(kolonne) — største værdi (numeriske eller alfabetiske).
5.
MIN(kolonne) — mindste værdi.
GROUP BY — gruppér rækker før aggregering. EKSEMPEL: SELECT kundeid, SUM(total) AS total_køb FROM Ordre GROUP BY kundeid → liste over hver kunde + deres total køb.
HAVING — filter PÅ aggregering (modsat WHERE som filterer FØR). EKSEMPEL: SELECT kundeid, COUNT() AS antal FROM Ordre GROUP BY kundeid HAVING COUNT() > 5 → kunder med >5 ordrer.
Window functions (avanceret): SUM() OVER (PARTITION BY kategori ORDER BY dato) — løbende summer per gruppe. Mere kraftfuldt end GROUP BY.
Performance: aggregering hurtigere med indeks på GROUP BY-kolonner.
Klassiske eksamenstype: SELECT branche, AVG(løn), COUNT(*) FROM Ansat GROUP BY branche HAVING AVG(løn) > 40000.
It A-fokus: kombinere aggregering + JOINs + WHERE/HAVING.
Læringsmål
- Anvende aggregeringsfunktioner til at opsummere data
- Kombinere aggregeringsfunktioner med GROUP BY
- Tolke resultatet af en aggregeret forespørgsel
Sådan kan du arbejde med emnet
- Beregn det samlede salg, gennemsnitsprisen og det dyreste produkt fra en ordretabel med SQL
- Brug COUNT og GROUP BY til at tælle, hvor mange ordrer hver kunde har afgivet
- Diskutér, hvad der sker, hvis du bruger AVG på en kolonne med NULL-værdier
Arbejd iterativt med prototyper og dokumentation. Test, evaluér og dokumentér.
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis