我想顯示平均得分最高的工人姓名。 我的第一個表是worker表並存儲worker_id和worker_name。第二個表是測試表,並存儲誰參加測試的worker_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