Сортировка SQL не следует за групповым оператором, всегда использует первичный ключ

У меня есть база данных SQL с таблицей под названиемstaff, имея следующие столбцы:

workerID (Prim.key), name, department, salary

Я должен был найти работников с самой высокой зарплатой в отделе и использовал следующее утверждение:

select staff.workerID, staff.name, staff.department, max(staff.salary) AS biggest
from staff
group by staff.department

Мне показывают одного работника из каждого отдела, но они НЕ являются работниками с самой высокой зарплатой, НО самая большая величина заработной платы показана, даже если работник не получает эту зарплату.

Показанный человек - это работник с наименьшим идентификатором работника на отдел.

Итак, происходит некоторая сортировка с использованием первичного ключа, даже если он не упоминается в выражении group by.

Может кто-нибудь объяснить, что происходит и, возможно, как правильно отсортировать.

Ответы на вопрос(4)

Ваш ответ на вопрос