Я пытаюсь показать имя рабочего (-ов) с наибольшими средними знаками. Моя первая таблица - таблица рабочего стола и хранит имя worker_id и worker_name. Вторая таблица - тестовая таблица и хранит employee_id того, кто прошел тест, test_id и метки.SQL найти имя работника с максимальным средним счетом
Моя цель - напечатать имя работника, который имеет самые высокие средние оценки во всех тестах. Это то, что я до сих пор:
select max(avg_mark) as max_avg
from (
select worker_name, avg(mark) as avg_mark
from worker join test worker.worker_id = test.worker_id
group by worker_name
order by avg(mark) desc);
Однако это только возвращает значение максимального среднего балла, а не имя (s) работника (ов), которые имеют, что среднее значение. Если я добавлю worker_name
в первый оператор select, а также добавлю группу по worker_name
внизу, тогда все рабочие будут возвращены с их средними значениями!
См http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to- be-a-very-simple-sql-query – Strawberry
Просьба показать определения таблиц, примеры данных и ожидаемый результат. – OldProgrammer