ComenzarEmpieza gratis

Aprovecha funciones y group_bys con datos jerárquicos

También es habitual querer resumir datos que están en una tabla jerárquica. Para resumir datos, debes tener cuidado con qué alias usas para hacer los group_bys y qué tabla usas para la función.

Aquí, tu tarea es obtener el recuento de personas empleadas para cada persona responsable.

Este ejercicio forma parte del curso

Introducción a las bases de datos en Python

Ver curso

Instrucciones del ejercicio

  • Guarda un alias de la tabla employees como managers.
  • Crea una consulta que seleccione la columna name de la tabla managers y el recuento de su número de personas empleadas. ¡La función func.count() ya se ha importado y te será útil! Úsala para contar la columna id de la tabla employees.
  • Usando una cláusula .where(), filtra los registros donde la columna id de la tabla managers y la columna mgr de la tabla employees sean iguales.
  • Agrupa la consulta por la columna name de la tabla managers.
  • Ejecuta la sentencia y guarda todos los resultados. Imprime los nombres de las personas responsables y sus personas empleadas. ¡Este código ya está escrito, así que Enviar respuesta y revisa los resultados!

Ejercicio interactivo práctico

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

# 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 y ejecutar código