【发布时间】:2021-07-18 04:42:03
【问题描述】:
SELECT DISTINCT
employees.departmentname,
employees.firstname,
employees.salary,
employees.departmentid
FROM employees
JOIN (
SELECT MAX(salary) AS Highest, departmentID
FROM employees
GROUP BY departmentID
) departments ON employees.departmentid = departments.departmentid
AND employees.salary = departments.highest;
为什么 DISTINCT 在这里不起作用? 我试图让每个部门只显示一次,因为问题是询问每个部门的最高薪水。
【问题讨论】:
-
DISTINCT关键字删除“整个重复行”。如您所见,您的示例中没有重复的行。 -
部门名称和部门ID重复
-
@Asenar 。 . .您的评论是错误的,您应该删除它。
-
好的@GordonLinoff 我刚刚做了,但你确定吗?我不太了解Oracle,但我很快搜索(在您发表评论后),似乎作者可能想使用
UNIQUE而不是DISTINCT,sql.sh/cours/distinct
标签: sql oracle greatest-n-per-group