Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Group By-sats | Gruppering
Intermediär SQL

bookGroup By-sats

Välkommen till kursen Intermediate SQL!

I det första avsnittet utforskar vi hur vi kan gruppera och aggregera data i våra tabeller.

Låt oss förstå vad "gruppering av data" innebär med ett enkelt exempel på en employees-tabell:

Gruppering av data

Vi har en uppgift att ta reda på antalet anställda i varje avdelning. För att göra detta kommer vi att gruppera data efter kolumnen department och använda aggregering med funktionen COUNT(*).

Så här kommer implementationen att se ut:

123
SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
copy

Som du kan se, syntaxen för att gruppera data ser ut så här:

SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1
Note
Notering

AGG_FUNC betyder aggregeringsfunktioner som MAX, MIN, COUNT osv.

Denna syntax används för att hitta vissa värden med hjälp av aggregeringsfunktioner i specifika kolumner.

Låt oss titta på ett annat exempel: vi har fått i uppgift att hitta avdelningen med högst genomsnittslön.

För att hämta sådan data behöver vi gruppera data efter kolumnen department och sedan använda funktionen AVG() för att beräkna genomsnittslönen:

123
SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
copy

I denna del av avsnittet kommer vi att arbeta med Montreal Metro systemdatabasen, som innehåller tabellen metro_travel_time.

Denna tabell innehåller information om stationslinje (line_name), dess namn (station_name) och tiden det tar för ett tåg att resa från en station till nästa (time_to_next_station).

Här är hur denna tabell ser ut och en datavisning av den:

Som du kan se är detta ingen komplex tabell. Låt oss fundera på var vi kan använda gruppering här.

Det mest uppenbara alternativet är gruppering efter färger på metrolinjer. Det innebär att vi kan aggregera data genom att gruppera den efter metrolinjens färg.

Alias

I uppgifterna kommer du ofta att använda ett koncept som kallas alias. Ett alias är i princip ett "smeknamn" för en kolumn som du hämtar med ett SELECT-uttryck. Det anges med följande syntax:

SELECT column AS alias

Ett alias påverkar endast hur kolumnen visas i svaret.

Till exempel, istället för MAX(time), kan kolumnen kallas max_time om du tilldelar det aliaset. Detta gör resultatet mer läsbart och tydligt.

Uppgift

Swipe to start coding

Din uppgift är att hitta den längsta tiden till nästa station på varje linje. Detta gör det möjligt att fastställa den längsta restiden mellan stationer för varje tunnelbanelinje. Använd MAX()-funktionen och ge den aliaset max_time, och gruppera data efter kolumnen line_name.

Kortfattade instruktioner

  • Hämta kolumnen line_name och det maximala värdet av kolumnen time_to_next_station från tabellen metro_travel_time.
  • Lägg till aliaset max_time för det maximala värdet.
  • Gruppera data efter kolumnen line_name.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 1
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

bookGroup By-sats

Svep för att visa menyn

Välkommen till kursen Intermediate SQL!

I det första avsnittet utforskar vi hur vi kan gruppera och aggregera data i våra tabeller.

Låt oss förstå vad "gruppering av data" innebär med ett enkelt exempel på en employees-tabell:

Gruppering av data

Vi har en uppgift att ta reda på antalet anställda i varje avdelning. För att göra detta kommer vi att gruppera data efter kolumnen department och använda aggregering med funktionen COUNT(*).

Så här kommer implementationen att se ut:

123
SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
copy

Som du kan se, syntaxen för att gruppera data ser ut så här:

SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1
Note
Notering

AGG_FUNC betyder aggregeringsfunktioner som MAX, MIN, COUNT osv.

Denna syntax används för att hitta vissa värden med hjälp av aggregeringsfunktioner i specifika kolumner.

Låt oss titta på ett annat exempel: vi har fått i uppgift att hitta avdelningen med högst genomsnittslön.

För att hämta sådan data behöver vi gruppera data efter kolumnen department och sedan använda funktionen AVG() för att beräkna genomsnittslönen:

123
SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
copy

I denna del av avsnittet kommer vi att arbeta med Montreal Metro systemdatabasen, som innehåller tabellen metro_travel_time.

Denna tabell innehåller information om stationslinje (line_name), dess namn (station_name) och tiden det tar för ett tåg att resa från en station till nästa (time_to_next_station).

Här är hur denna tabell ser ut och en datavisning av den:

Som du kan se är detta ingen komplex tabell. Låt oss fundera på var vi kan använda gruppering här.

Det mest uppenbara alternativet är gruppering efter färger på metrolinjer. Det innebär att vi kan aggregera data genom att gruppera den efter metrolinjens färg.

Alias

I uppgifterna kommer du ofta att använda ett koncept som kallas alias. Ett alias är i princip ett "smeknamn" för en kolumn som du hämtar med ett SELECT-uttryck. Det anges med följande syntax:

SELECT column AS alias

Ett alias påverkar endast hur kolumnen visas i svaret.

Till exempel, istället för MAX(time), kan kolumnen kallas max_time om du tilldelar det aliaset. Detta gör resultatet mer läsbart och tydligt.

Uppgift

Swipe to start coding

Din uppgift är att hitta den längsta tiden till nästa station på varje linje. Detta gör det möjligt att fastställa den längsta restiden mellan stationer för varje tunnelbanelinje. Använd MAX()-funktionen och ge den aliaset max_time, och gruppera data efter kolumnen line_name.

Kortfattade instruktioner

  • Hämta kolumnen line_name och det maximala värdet av kolumnen time_to_next_station från tabellen metro_travel_time.
  • Lägg till aliaset max_time för det maximala värdet.
  • Gruppera data efter kolumnen line_name.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 1
single

single

some-alt