Aan de slagGa gratis aan de slag

Aantal records per staat

Vaak wil je het aantal records weten voor elke waarde die in een andere kolom voorkomt. De methode .group_by() helpt je dit soort query te beantwoorden. Je kunt een kolom doorgeven aan .group_by() en die gebruiken in een aggregatiefunctie zoals sum() of count(). Net als .order_by() kan .group_by() meerdere kolommen als argumenten accepteren.

Deze oefening maakt deel uit van de cursus

Introductie tot databases in Python

Cursus bekijken

Oefeninstructies

  • Importeer func uit sqlalchemy.
  • Bouw een select-statement om de waarde van het veld state en een telling van de waarden in het veld age op te halen, en sla dit op als stmt.
  • Gebruik de methode .group_by() om het statement te groeperen op de kolom state.
  • Voer stmt uit met behulp van 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 a query to select the state and count of ages by state: 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