我无法显示平均年龄和其他数据,我知道它应该显示多个字段,但它只显示一个字段。
SELECT EmpName, Age,AVG(Age)
FROM Employee
WHERE Age > ( SELECT AVG(Age)
FROM Employee
)
答案 0 :(得分:3)
您无法获得行和获得总体平均值。尝试加入他们:
SELECT e.EmpName
, e.Age
, a.AverageAge
FROM Employee e
CROSS
JOIN ( SELECT AVG(Age) AverageAge
FROM Employee
) a
WHERE Age > AverageAge
答案 1 :(得分:2)
SELECT EmpName, Age, (SELECT AVG(Age) FROM Employee) AverageAge
FROM Employee
WHERE Age > (SELECT AVG(Age) FROM Employee);
这里是正确的代码,我想你不能在SELECT旁边使用AVERAGE(Age),因为它不是退出列。
答案 2 :(得分:1)
您可以使用HAVING子句来实现它
select name,age,avg(age)
from emp
group by name,age
having age > (select avg(age) from emp)