Nombre d'enregistrements par État
Souvent, on veut obtenir un dénombrement pour chaque enregistrement ayant une valeur particulière dans une autre colonne. La méthode .group_by() aide à répondre à ce type de requête. Vous pouvez transmettre une colonne à la méthode .group_by() et l'utiliser dans une fonction d'agrégation comme sum() ou count(). Comme pour la méthode .order_by(), .group_by() peut prendre plusieurs colonnes comme arguments.
Cette activité fait partie du cours
Introduction aux bases de données en Python
Instructions de l’exercice
- Importez
funcdepuissqlalchemy. - Créez une instruction
selectpour obtenir la valeur du champ state et le nombre de valeurs dans le champage, et stockez-la dansstmt. - Utilisez la méthode
.group_by()pour regrouper l'instruction selon la colonnestate. - Exécutez
stmten utilisantconnectionpour obtenir le dénombrement et stockez les résultats dansresults. - Affichez les clés/noms de colonnes des résultats retournés en utilisant
results[0].keys().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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(____)