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
Oefeninstructies
- Importeer
funcuitsqlalchemy. - Bouw een
select-statement om de waarde van het veldstateen een telling van de waarden in het veldageop te halen, en sla dit op alsstmt. - Gebruik de methode
.group_by()om het statement te groeperen op de kolomstate. - Voer
stmtuit met behulp van deconnectionom de telling op te halen en sla de resultaten op alsresults. - 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(____)