有人能用子查询和CTE回答SQL问题吗?
我参加了一次面试,面试官问了我下面的问题。我来不了。任何人都可以用两种不同的方式回答问题(子问题和With子句-CTE) 问题3:在一个项目上工作的最大员工人数是多少?把那个号码还给我 问题4:在所有员工中,哪个部门的综合工资最高?返回工资总额、部门名称以及该部门的员工人数 表: 员工有人能用子查询和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 开始日期 结束日期 预算整数 员工项目 项目
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子句的情况下通过子查询使用