Aan de slagGa gratis aan de slag

De bevolkingssom per staat bepalen

Om verwarring te voorkomen met kolomnamen in het queryresultaat zoals count_1, kunnen we de methode .label() gebruiken om de resulterende kolom een naam te geven. Die voeg je toe aan de functiemethode die we gebruiken, met als argument de gewenste naam.

We kunnen func.sum() combineren met .group_by() om de som van de bevolking per State te krijgen en de label()-methode gebruiken om de uitvoer te benoemen.

We kunnen de func.sum()-expressie ook vooraf maken voordat we die in de select-statement gebruiken. Dat doen we op dezelfde manier als binnen de select-statement en slaan we op in een variabele. Daarna gebruiken we die variabele in de select-statement op de plek waar normaal func.sum() zou staan.

Deze oefening maakt deel uit van de cursus

Introductie tot databases in Python

Cursus bekijken

Oefeninstructies

  • Importeer func uit sqlalchemy.
  • Bouw een expressie om de som van de waarden in het veld pop2008 te berekenen met het label 'population'.
  • Bouw een select-statement om de waarde van het veld state en de som van de waarden in pop2008 op te halen.
  • Groepeer het statement op state met een .group_by()-methode.
  • Voer stmt uit met de connection om de telling op te halen en sla de resultaten op als results.
  • Print de sleutels/kolomnamen van de geretourneerde resultaten met results[0].keys().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(____)
Code bewerken en uitvoeren