我有两列的表 - "员工" ,"薪水"。 我正在努力让薪水最高的员工。 我在设计视图上尝试了很多东西,但它没有用。
答案 0 :(得分:4)
如果您希望所有员工的薪水最高,那么您可以这样做:
select top 1 t.*
from t
order by salary desc;
MS Access包括与top 1
的联系。
如果您只想要一名员工,则可以包含另一个排序键:
select top 1 t.*
from t
order by salary, employee desc;
中解释了此行为
TOP谓词不会在相等的值之间进行选择。在里面 前面的例子,如果是第二十五和第二十六最高等级 点数平均值相同,查询将返回26条记录。
答案 1 :(得分:1)
另一种方法是使用子查询。假设您的表名为tblSalTest:
qrySalMax将获得所有工资的最大值(仅返回薪资字段):
SELECT Max(tblSalTest.Salary) AS MaxOfSalary
FROM tblSalTest;
qryFinal使用qrySalMax从tblSaltest中选择正确的记录。
SELECT tblSalTest.Employee, tblSalTest.Salary
FROM tblSalTest, qryMaxSal
WHERE (((tblSalTest.Salary) In (select MaxOfSalary from qryMaxSal)));
或者我想
SELECT tblSalTest.*
FROM tblSalTest INNER JOIN qryMaxSal ON tblSalTest.Salary = qryMaxSal.MaxOfSalary;
@ Gordon的回答在我看来更好。