列出平均教学评级最高的教授的姓名

时间:2014-11-07 12:37:05

标签: mysql group-by sql-order-by

我有这样的表: 教导(的 CID,年,PID 下,等级) 教授(的 PID 下,名称)

我撰写了一个这样的查询(希望它给了我所有教授的评分,但不是最高的):

SELECT P.name, T.rating
FROM Teaches T, Professor P
GROUP BY T.pid
HAVING AVG(rating)

如何嵌入查询,例如将包含最高评级的行添加到此查询中?

2 个答案:

答案 0 :(得分:1)

将此信息包含在您的查询中:

ORDER BY 'column_name' DESC

其中' column_name'将由teacher_rating取代。

更多参考:Visit this

答案 1 :(得分:0)

如果您想获得教授的最高平均评分,您可以将平均评分设为列,按该列按降序排序,并将结果集限制为1.

试试这个:

SELECT p.Name, AVG(t.rating) AS averageRating
FROM teaches t
JOIN professor p ON p.id = t.pid // I don't know if this is right, but you need to have a join here, and I don't know what your related columns are.
GROUP BY t.pid
ORDER BY averageRating DESC
LIMIT 1;

这将是最高评级,限制为1行将有效地抓住评级最高的教授。