有人能用子查询和CTE回答SQL问题吗?

有人能用子查询和CTE回答SQL问题吗?,sql,common-table-expression,Sql,Common Table Expression,我参加了一次面试,面试官问了我下面的问题。我来不了。任何人都可以用两种不同的方式回答问题(子问题和With子句-CTE) 问题3:在一个项目上工作的最大员工人数是多少?把那个号码还给我 问题4:在所有员工中,哪个部门的综合工资最高?返回工资总额、部门名称以及该部门的员工人数 表: 员工 ID int 第一个名字varchar 姓氏varchar 工资整数 部门ID int 部门 id int 名称varchar 项目 ID int 标题varchar 开始日期 结束日期 预算整数 员工项目 项目

我参加了一次面试,面试官问了我下面的问题。我来不了。任何人都可以用两种不同的方式回答问题(子问题和With子句-CTE)

问题3:在一个项目上工作的最大员工人数是多少?把那个号码还给我

问题4:在所有员工中,哪个部门的综合工资最高?返回工资总额、部门名称以及该部门的员工人数

表:

员工
ID int 第一个名字varchar 姓氏varchar 工资整数 部门ID int

部门
id int 名称varchar

项目
ID int 标题varchar 开始日期 结束日期 预算整数

员工项目
项目id int
Employee_id int

我看不出子查询、CTE或子查询有什么意义,您只需聚合和排序:

select
    d.name dept_name,
    sum(e.salary) payroll,
    count(*) count_of_employees
from departments d
inner join employees e on e.department_id = d.id
group by d.id, d.name
order by sum(e.salary) desc
limit 1

限制结果数量的实际语法因RDBMS而异。SQL Server有
TOP 1[有联系]

它应该是简单的数据聚合查询。到目前为止你试过什么?从分组
GroupBy
和聚合函数(如
Count()
Sum()
)开始。我投票将此问题作为离题题题结束,因为尚未演示如何解决问题本身。谢谢。我们是否可以在不使用limit和top子句的情况下通过子查询使用