我想要sal
(薪水)大于所有雇员的平均工资的所有雇员的工资,但是我得到错误“无效使用组函数”。如何在where
子句中使用avg()
函数?
select sal
from emp
where sal> (avg(sal)) ;
发布于 2021-06-05 18:47:04
你不能在这样的WHERE子句中使用AVG。尝试此查询:
SELECT sal FROM emp WHERE sal > (SELECT AVG(sal) FROM emp)
发布于 2021-06-05 18:47:09
您可能需要使用子查询:
select sal
from emp
where sal> (select avg(sal) avgsal from emp) ;
发布于 2021-06-05 19:16:15
您可以将avg
用作window function
,这通常会对子查询产生更好的性能:
select Sal from (
select Sal, Avg(Sal) over() avgSal
from Employees
)e
where Sal > avgSal
https://stackoverflow.com/questions/67848679
复制相似问题