MySQL获得最高的平均条目

时间:2012-07-03 22:23:47

标签: mysql

我正在尝试编写一个mysql查询来返回平均课程评分最高的前3个课程。我有两个表,评分和课程。

评级表:

courseId    rating  
   1           6    
   2           2        
   1           4
   2           5
   3           3
   4           0
   6           0

课程表:

courseId        cnum        cname
   1            100         name1
   2            112         name2
   3            230         name3
   4            319         name4
   5            122         name5
   6            320         name6

我需要返回平均评分最高的前3个课程。我有什么想法可以做到这一点?感谢

1 个答案:

答案 0 :(得分:3)

SELECT Courses.*
FROM   Courses NATURAL JOIN (
  SELECT   courseId, AVG(rating) avg_rating
  FROM     Ratings
  GROUP BY courseId
  ORDER BY avg_rating DESC
  LIMIT    3
) t

sqlfiddle上查看。