ComenzarEmpieza gratis

Calcular la suma de población por estado

Para evitar confusiones con nombres de columnas del resultado de la consulta como count_1, podemos usar el método .label() para darle un nombre a la columna resultante. Este método se añade a la función que estemos usando y su argumento es el nombre que queremos.

Podemos combinar func.sum() con .group_by() para obtener la suma de la población por State y usar el método label() para nombrar la salida.

También podemos crear la expresión func.sum() antes de usarla en la sentencia select. Lo hacemos igual que dentro de la sentencia select y la guardamos en una variable. Luego usamos esa variable en la sentencia select donde normalmente iría func.sum().

Este ejercicio forma parte del curso

Introducción a las bases de datos en Python

Ver curso

Instrucciones del ejercicio

  • Importa func de sqlalchemy.
  • Crea una expresión para calcular la suma de los valores del campo pop2008 etiquetada como 'population'.
  • Construye una sentencia select para obtener el valor del campo state y la suma de los valores de pop2008.
  • Agrupa la sentencia por state usando el método .group_by().
  • Ejecuta stmt usando connection para obtener el recuento y guarda los resultados en results.
  • Imprime las claves/nombres de columnas de los resultados devueltos usando results[0].keys().

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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(____)
Editar y ejecutar código