gpt4 book ai didi

sql - 使用 MAX() 而不分组

转载 作者:行者123 更新时间:2023-12-01 21:56:59 26 4
gpt4 key购买 nike

我正在使用 Oracle-Apex我有一张包含姓名和薪水的表格。我想使用 MAX(salary) 获得薪水最高的名字。

所以查询是这样的:

SELECT NAME FROM EMPLOYEE
GROUP BY NAME
HAVING MAX(SALARY) = SALARY;

这不起作用,出现错误 ORA-00979:不是 GROUP BY 表达式。所以我用它来阻止那个错误:

SELECT NAME FROM EMPLOYEE
GROUP BY NAME, SALARY
HAVING MAX(SALARY) = SALARY;

并且它将每个不同的薪水分组在一行中并返回每行中的最高薪水,因为每个薪水都不同,所以它返回每一行。

如何在不修改表格的情况下将所有内容分组到一个大组中?我的意思是我希望它能工作:

SELECT NAME FROM EMPLOYEE
WHERE MAX(SALARY) = SALARY;

但是有了。真的很简单,但是我找不到方法。

最佳答案

使用子查询

SELECT NAME FROM EMPLOYEE
where salary = (select max( salary) from EMPLOYEE)

关于sql - 使用 MAX() 而不分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56250379/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com