ComeçarComece de graça

Determinando a soma da população por estado

Para evitar confusão com nomes de colunas do Resultado da consulta como count_1, podemos usar o método .label() para fornecer um nome à coluna resultante. Ele é anexado ao método de função que estamos usando, e seu argumento é o nome que queremos usar.

Podemos combinar func.sum() com .group_by() para obter a soma da população por State e usar o método label() para nomear a saída.

Também podemos criar a expressão func.sum() antes de usá-la na instrução select. Fazemos do mesmo jeito que faríamos dentro da instrução select e a armazenamos em uma variável. Depois, usamos essa variável na instrução select onde normalmente estaria func.sum().

Este exercício faz parte do curso

Introdução a Bancos de Dados em Python

Ver curso

Instruções do exercício

  • Importe func de sqlalchemy.
  • Construa uma expressão para calcular a soma dos valores no campo pop2008, rotulada como 'population'.
  • Construa uma instrução select para obter o valor do campo state e a soma dos valores em pop2008.
  • Agrupe a instrução por state usando um método .group_by().
  • Execute stmt usando a connection para obter a contagem e armazene os resultados como results.
  • Imprima as chaves/nomes das colunas dos resultados retornados usando results[0].keys().

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código