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 | Arbeide med Data
Databricks Grunnleggende: En Nybegynnerguide

Aggregering og Gruppering i SQL

Sveip for å vise menyen

Note
Definisjon

SQL-aggregasjon bruker GROUP BY-setningen for å organisere rådata i sammendragsrader. Ved å bruke funksjoner som SUM(), AVG() og COUNT(), kan du omdanne millioner av rader til handlingsrettede forretningsmålinger direkte i en SQL-celle.

For mange er SQL det mest naturlige språket for å oppsummere data. Syntaksen er svært lesbar og følger en logisk rekkefølge: velg kategoriene dine, velg utregningen, og definer gruppene. I dette kapittelet vil du bruke den midlertidige visningen vi opprettet tidligere for å utføre de samme aggregeringene som vi gjorde i Python, men med enkelheten til SQL.

GROUP BY-setningen

I SQL må alle kolonner som ikke blir "matematisk oppsummert" inkluderes i GROUP BY-setningen på slutten av spørringen. Dette forteller SQL-motoren nøyaktig hvordan dataene skal deles opp.

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

Bruk av innebygde aggregeringsfunksjoner

SQL tilbyr flere standardfunksjoner for å utføre beregninger på numeriske kolonner:

  • SUM(): summerer alle verdier i kolonnen;
  • AVG(): beregner gjennomsnittet;
  • MIN() / MAX(): finner laveste eller høyeste verdi;
  • COUNT(): returnerer antall rader.
%sql
SELECT 
  cut, 
  SUM(x), 
  AVG(y)
FROM diamond_view
GROUP BY cut

Aliasering for profesjonelle rapporter

Som standard kan SQL merke resultatkolonner som sum(Total_Profit). For å gjøre utdataene klare for et forretningsdashboard, bruk nøkkelordet AS for å gi disse kolonnene mer beskrivende navn.

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

Filtrering av aggregerte data: HAVING-setningen

En vanlig feil er å forsøke å filtrere et aggregert resultat ved å bruke WHERE. I SQL filtrerer WHERE individuelle rader før de grupperes. Hvis du vil filtrere resultatene etter at de er summert (for eksempel for kun å vise regioner med mer enn $1 000 000 i profitt), må du bruke HAVING-setningen.

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

Sortering av sammendraget

For å fremheve innsiktene dine, bruk alltid ORDER BY. Dette lar deg rangere resultatene, for eksempel ved å vise de mest lønnsomme regionene ø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 å lage oppsummeringsrader når du bruker aggregeringsfunksjoner som SUM() eller AVG()?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 4. Kapittel 7
some-alt