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
Instrucciones del ejercicio
- Guarda un alias de la tabla
employeescomomanagers. - Crea una consulta que seleccione la columna
namede la tablamanagersy el recuento de su número de personas empleadas. ¡La funciónfunc.count()ya se ha importado y te será útil! Úsala para contar la columnaidde la tablaemployees. - Usando una cláusula
.where(), filtra los registros donde la columnaidde la tablamanagersy la columnamgrde la tablaemployeessean iguales. - Agrupa la consulta por la columna
namede la tablamanagers. - 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)