【发布时间】:2012-09-08 06:07:28
【问题描述】:
您好,我有两个表 Employee 和 Department。在员工中,我有 empid、firstName、salary、Department_ID,在部门中我有 deptid 和 deptname。我想显示每个部门的薪水最高的员工姓名。 我完成了以下代码
select MAX(E.Salary),D.Name from Employee as E JOIN Department As D
ON e.Department_ID = D.Department_ID
GROUP BY D.Name
它仅来自部门表(我在这里没有包括 E.FirstName)。当我编写如下查询时
select E.FirstName MAX(E.Salary),D.Name from Employee as E JOIN Department As D
ON e.Department_ID = D.Department_ID
GROUP BY D.Name
给出一个错误
E.FirstName 不包含在聚合函数或 GROUP BY 中 子句。
如何修改它以显示员工姓名?
当我在 group by 子句中添加 E.FirstName 时,我得到了关注。
名字薪金部门名称
贝克 1400.00 操作
艾伦 5400.00 研究
史密斯 1800.00 研究
丹尼斯 4500.00 销售
米希尔 7500.00 销售额
WARK 8000.00 销售额
我只想显示 Max 受薪员工及其部门和薪水。
【问题讨论】:
标签: sql-server group-by