SELECT p.id,s.name,co.name,p.scoreFROM result pLEFT JOIN(SELECT sid,MAX(score) mscore FROM result GROUP BY sid) c ON p.sid=c.sidLEFT JOIN student s ON p.sid=s.idLEFT JOIN course co ON p.cid=co.idWHERE p.score=c.mscore
score
cid
id
大同小异吧,解出来就行了