ComeçarComece de graça

Aproveitando funções e group_bys com dados hierárquicos

Também é comum querer consolidar dados que estão em uma tabela hierárquica. Para consolidar dados, é preciso ter cuidado com qual alias você usa para executar os group_bys e qual tabela você usa para a função.

Aqui, sua tarefa é obter a contagem de funcionários para cada gerente.

Este exercício faz parte do curso

Introdução a Bancos de Dados em Python

Ver curso

Instruções do exercício

  • Salve um alias da tabela employees como managers.
  • Monte uma consulta para selecionar a coluna name da tabela managers e a contagem de seus funcionários. A função func.count() já foi importada e será útil! Use-a para contar a coluna id da tabela employees.
  • Usando uma cláusula .where(), filtre os registros em que a coluna id da tabela managers e a coluna mgr da tabela employees sejam iguais.
  • Agrupe a consulta pela coluna name da tabela managers.
  • Execute a instrução e armazene todos os resultados. Imprima os nomes dos gerentes e seus funcionários. Esse código já foi escrito, então Enviar a resposta e confira os resultados!

Exercício interativo prático

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

# Make an alias of the employees table: managers
managers = ____

# Build a query to select names of managers and counts of their employees: stmt
stmt = select([____, func.count(____)])

# Append a where clause that ensures the manager id and employee mgr are equal
stmt_matched = stmt.____

# Group by Managers Name
stmt_grouped = stmt_matched.group_by(____)

# Execute statement: results
results = connection.execute(stmt_grouped).fetchall()

# print manager
for record in results:
    print(record)

Editar e executar o código