CommencerCommencer gratuitement

Calculer le total de population par État

Pour éviter toute confusion avec des noms de colonnes de résultat de requête comme count_1, nous pouvons utiliser la méthode .label() pour nommer la colonne résultante. Elle s’ajoute à la méthode de fonction que nous utilisons, et son argument est le nom souhaité.

Nous pouvons associer func.sum() à .group_by() pour obtenir le total de la population par State et utiliser la méthode label() pour nommer la sortie.

Nous pouvons aussi créer l’expression func.sum() avant de l’utiliser dans l’instruction select. Nous procédons comme nous le ferions à l’intérieur de l’instruction select et la stockons dans une variable, puis nous utilisons cette variable dans l’instruction select à l’endroit où func.sum() serait normalement utilisé.

Cet exercice fait partie du cours

Introduction aux bases de données en Python

Afficher le cours

Instructions

  • Importez func depuis sqlalchemy.
  • Créez une expression pour calculer la somme des valeurs du champ pop2008 avec le libellé 'population'.
  • Créez une instruction select pour récupérer la valeur du champ state et la somme des valeurs de pop2008.
  • Regroupez l’instruction par state avec la méthode .group_by().
  • Exécutez stmt en utilisant connection pour obtenir le décompte et stockez les résultats dans results.
  • 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 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(____)
Modifier et exécuter le code