Kom igångKom igång gratis

Beräkna befolkningssumman per delstat

För att undvika förväxling med kolumnnamn i frågeresultatet, som till exempel count_1, kan vi använda metoden .label() för att ge resultatkolumnen ett eget namn. Den läggs till efter den funktionsmetod vi använder, och argumentet är det namn vi vill använda.

Vi kan kombinera func.sum() med .group_by() för att summera befolkningen per State och använda metoden label() för att namnge utdata.

Vi kan också skapa func.sum()-uttrycket innan vi använder det i select-satsen. Det görs på samma sätt som inuti select-satsen – vi lagrar det i en variabel och använder sedan den variabeln i select-satsen där func.sum() annars skulle stå.

Den här övningen är en del av kursen

Introduktion till databaser i Python

Visa kurs

Övningsinstruktioner

  • Importera func från sqlalchemy.
  • Bygg ett uttryck för att beräkna summan av värdena i fältet pop2008, med etiketten 'population'.
  • Bygg en select-sats för att hämta värdet i fältet state samt summan av värdena i pop2008.
  • Gruppera satsen efter state med hjälp av metoden .group_by().
  • Kör stmt via connection för att hämta antalet och lagra resultaten i results.
  • Skriv ut nycklarna/kolumnnamnen för de returnerade resultaten med hjälp av results[0].keys().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Import func
____

# Build an expression to calculate the sum of pop2008 labeled as population
pop2008_sum = func.sum(____).label(____)

# Build a query to select the state and sum of pop2008: stmt
stmt = select([____, ____])

# Group stmt by state
stmt = stmt.group_by(____)

# Execute the statement and store all the records: results
results = connection.execute(____).fetchall()

# Print results
print(results)

# Print the keys/column names of the results returned
print(____)
Redigera och kör kod