Compter les enregistrements par État
Il est souvent utile d’obtenir un décompte pour chaque enregistrement ayant une valeur particulière dans une autre colonne. La méthode .group_by() permet de répondre à ce type de requête. Vous pouvez passer une colonne à .group_by() et l’utiliser dans une fonction d’agrégation comme sum() ou count(). Comme pour .order_by(), .group_by() peut prendre plusieurs colonnes en arguments.
Cet exercice fait partie du cours
Introduction aux bases de données en Python
Instructions
- Importez
funcdepuissqlalchemy. - Construisez une instruction
selectpour obtenir la valeur du champ d’État et le nombre de valeurs dans le champage, et enregistrez-la dansstmt. - Utilisez la méthode
.group_by()pour regrouper l’instruction par la colonnestate. - Exécutez
stmtà l’aide deconnectionpour obtenir le décompte et stockez les résultats dansresults. - Affichez les clés/noms de colonnes des résultats renvoyés avec
results[0].keys().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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(____)