在分层数据中运用函数与 group_by
在分层表中汇总数据也很常见。做汇总时需要注意:对哪一个别名执行 group_by,以及函数作用在哪个表上。
本练习中,您的任务是统计每位经理所管理的员工数量。
本练习是课程的一部分
Python 中的数据库入门
练习说明
- 将
employees表创建一个别名并保存为managers。 - 构建查询,选择
managers表的name列,以及其员工数量的计数。已导入的函数func.count()会很有用!请用它来统计employees表的id列。 - 使用
.where()子句,筛选出managers表的id列与employees表的mgr列相等的记录。 - 按
managers表的name列对查询进行分组。 - 执行语句并存储所有结果。打印各位经理的姓名及其员工数量。相关代码已为您写好,请提交答案并查看结果!
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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)