Microsoft Access中的SQL查询平均值
问题描述:
这是桌子:
教师:
School_ID char(3),
Fac_LastName char(15),
Fac_FirstName char(15),
Fac_DOB char(15),
Fac_SS# char(15),
Fac_Address char(15),
Fac_City char(15),
Fac_State char(2),
Fac_Zip char(5),
Fac_salary numeric(8,2)
query:显示薪水高于平均水平的讲师.
我在Microsoft Access中运行以下查询:
I run following query in Microsoft Access:
SELECT Avg(FACULTY.Fac_salary) AS average, FACULTY.Fac_LastName
FROM FACULTY
GROUP BY FACULTY.Fac_LastName
HAVING (((FACULTY.Fac_salary) >Avg([FACULTY].[Fac_salary])));
,但它给出的错误是((((FACULTY.Fac_salary)> Avg([FACULTY].[Fac_salary]))))不是聚集函数的一部分.
请务必针对Microsoft Access进行回答
Kindly keep your answer specific to Microsoft Access
答
假定比较平均值是表FACULTY
中所有记录的,则需要分别计算总体平均值,然后才能确定哪些成员超出此平均值平均.
Assuming that the comparative average is for all records in table FACULTY
, you will need to calculate the overall average separately, before you can determine which members exceed this average.
您可以这样做:
SELECT FACULTY.Fac_LastName, FACULTY.Fac_salary
FROM FACULTY
WHERE ((FACULTY.Fac_salary) > (SELECT Avg(FACULTY.Fac_salary) FROM FACULTY));