Как использовать запрос, чтобы найти максимальный параметр в Microsoft Access - PullRequest
0 голосов
/ 02 июня 2018

у меня есть таблица с 2 столбцами - «сотрудник», «зарплата».Я пытаюсь получить работника с самой высокой зарплатой.Я много чего пробовал в режиме просмотра дизайна, но он не работает.

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Другой способ сделать это - использовать подзапрос.Предполагая, что ваша таблица называется tblSalTest:

qrySalMax получит максимум всех зарплат (только возвращая поле Salary):

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;

@ На мой взгляд, ответ Гордона лучше.

0 голосов
/ 02 июня 2018

Если вы хотите, чтобы всех сотрудников имели самую высокую зарплату, вы можете сделать следующее:

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 записей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...