Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Aggregering og Gruppering i SQL | Arbejde med Data
Databricks Grundlæggende: En Begyndervejledning

Aggregering og Gruppering i SQL

Stryg for at vise menuen

Note
Definition

SQL-aggregation anvender GROUP BY-klausulen til at arrangere rådata i sammendragsrækker. Ved at bruge funktioner som SUM(), AVG() og COUNT() kan millioner af rækker omdannes til brugbare forretningsmålinger direkte i en SQL-celle.

For mange er SQL det mest naturlige sprog til at opsummere data. Syntaksen er meget læsbar og følger et logisk flow: vælg dine kategorier, vælg din matematik og definer dine grupper. I dette kapitel vil du bruge den midlertidige visning, vi oprettede tidligere, til at udføre de samme aggregationer, som vi gjorde i Python, men med SQL's enkelhed.

GROUP BY-klausulen

I SQL skal enhver kolonne, der ikke bliver "matematisk opsummeret", inkluderes i GROUP BY-sætningen i slutningen af forespørgslen. Dette fortæller SQL-motoren præcis, hvordan dataene skal opdeles.

SELECT cut, COUNT(*) 
FROM diamond_view
GROUP BY cut

Brug af indbyggede aggregeringsfunktioner

SQL tilbyder flere standardfunktioner til at udføre beregninger på dine numeriske kolonner:

  • SUM(): summerer alle værdier i kolonnen;
  • AVG(): beregner gennemsnittet;
  • MIN() / MAX(): finder den laveste eller højeste værdi;
  • COUNT(): returnerer antallet af rækker.
%sql
SELECT 
  cut, 
  SUM(x), 
  AVG(y)
FROM diamond_view
GROUP BY cut

Aliasnavne til professionelle rapporter

Som standard kan SQL navngive dine resultatkolonner som sum(Total_Profit). For at gøre dit output klar til et forretningsdashboard, brug AS-nøgleordet til at omdøbe disse kolonner til noget mere beskrivende.

%sql
SELECT 
  cut, 
  SUM(x) AS Total_Length,
  MAX(y) AS Highest_Diamond_Value
FROM diamond_view
GROUP BY cut

Filtrering af aggregerede data: HAVING-sætningen

En almindelig fejl er at forsøge at filtrere et aggregeret resultat ved hjælp af WHERE. I SQL filtrerer WHERE individuelle rækker, før de grupperes. Hvis du vil filtrere resultaterne, efter de er blevet summeret (for eksempel kun vise regioner med mere end $1.000.000 i profit), skal du bruge HAVING-sætningen.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
HAVING Total_Length > 4000

Sortering af oversigten

For at fremhæve dine indsigter, brug altid ORDER BY. Dette giver dig mulighed for at rangere dine resultater, for eksempel ved at vise de mest rentable regioner øverst i tabellen.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
ORDER BY Total_Length DESC
question mark

Hvilken SQL-klausul er nødvendig for at oprette sammendragsrækker, når man bruger aggregeringsfunktioner som SUM() eller AVG()?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 7

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 4. Kapitel 7
some-alt