开始使用免费开始使用

在分层数据中运用函数与 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)

编辑并运行代码