SQL Academy · leksjon

COUNT, SUM, AVG, MIN, MAX

Bruk de fem sentrale aggregatfunksjonene, forstå COUNT(*) kontra COUNT(kolonne), og vit hvordan hver av dem behandler NULL-verdier.

Leksjon 1 av 413 trinn

COUNT, SUM, AVG, MIN, MAX er en gratis leksjon i SQL Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i SQL Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i SQL Academy inneholder totalt 4 leksjoner.

Hva aggregatfunksjoner gjør

En aggregatfunksjon samler mange rader til én verdi. Eksempler er totale inntekter, gjennomsnittlig vurdering og seneste dato.

COUNT

Teller rader. Det finnes to varianter:

SELECT COUNT(*)         FROM users;          -- counts ALL rows
SELECT COUNT(email)     FROM users;          -- counts rows where email IS NOT NULL
SELECT COUNT(DISTINCT country) FROM users;   -- distinct non-NULL countries

SUM

Summerer en numerisk kolonne. NULL-verdier hoppes over:

SELECT SUM(total) FROM orders;
SELECT SUM(total) FROM orders WHERE user_id = 42;

AVG

Beregner det aritmetiske gjennomsnittet. NULL-verdier hoppes over – derfor er AVG(x) lik SUM(x)/COUNT(x), ikke SUM(x)/COUNT(*):

SELECT AVG(rating) FROM reviews;

MIN og MAX

Den minste og største verdien som ikke er NULL. Fungerer med tall, datoer, strenger – alt som kan sammenlignes:

SELECT MIN(created_at), MAX(created_at) FROM orders;
SELECT MIN(name), MAX(name) FROM users;   -- alphabetic

Aggregater og NULL

Alle aggregatfunksjoner unntatt COUNT(*) hopper over NULL-inndata. AVG, SUM, MIN og MAX returnerer NULL når det ikke finnes noen inndata som ikke er NULL.

-- Suppose the table is empty or all rating is NULL:
SELECT AVG(rating) FROM reviews;   -- NULL

Kombinere aggregater

Flere aggregatfunksjoner i én spørring – alle ser den samme gruppen:

SELECT COUNT(*)      AS orders,
       SUM(total)    AS revenue,
       AVG(total)    AS avg_order,
       MIN(total)    AS smallest,
       MAX(total)    AS biggest
FROM orders
WHERE created_at >= NOW() - INTERVAL '30 days';

DISTINCT i aggregatfunksjoner

Bruk DISTINCT før aggregering:

SELECT COUNT(DISTINCT user_id) AS unique_buyers,
       SUM(DISTINCT total)     AS sum_of_distinct_totals
FROM orders;

Aggregater uten GROUP BY

Når du bruker et aggregat uten GROUP BY, er hele resultatsettet én stor gruppe – du får ut én rad.

Filtrering før aggregering

WHERE begrenser inndataradene før de aggregeres:

-- Average of only large orders:
SELECT AVG(total) FROM orders WHERE total > 100;

FILTER-klausulen (PostgreSQL)

Legg til filtre per aggregat med FILTER-klausulen:

SELECT
  COUNT(*)                                AS total_orders,
  COUNT(*) FILTER (WHERE status = 'paid')  AS paid_orders,
  SUM(total) FILTER (WHERE status = 'paid') AS paid_revenue
FROM orders;

Oppsummering

De fem kjerneaggregatene: COUNT, SUM, AVG, MIN, MAX.

  • COUNT(*) teller rader; COUNT(col) hopper over NULL
  • Andre aggregatfunksjoner hopper over NULL-inndata
  • Kombiner med WHERE / FILTER for betinget aggregering

Hurtigsjekk

Anta at rating er NULL for 100 av 500 rader. Hva deler AVG(rating) på?

Gratis å komme i gang

Lær deg SQL med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
46
Leksjoner
183

Ofte stilte spørsmål

Er leksjonen «COUNT, SUM, AVG, MIN, MAX» gratis?

Ja – hele teksten i «COUNT, SUM, AVG, MIN, MAX» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av SQL Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i SQL Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «COUNT, SUM, AVG, MIN, MAX»?

Bruk de fem sentrale aggregatfunksjonene, forstå COUNT(*) kontra COUNT(kolonne), og vit hvordan hver av dem behandler NULL-verdier. Du øver på SQL Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med SQL Academy?

Ingen tidligere erfaring er nødvendig. SQL Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «COUNT, SUM, AVG, MIN, MAX»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne SQL Academy-leksjonen?

Ja. Alle SQL Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. COUNT, SUM, AVG, MIN, MAX
  2. GROUP BY med én eller flere kolonner
  3. HAVING kontra WHERE
  4. Vanlige fallgruver: NULL-verdier i aggregater
← Tilbake til SQL Academy