我需要选择带有uniqune名称的评分最高的文章。我有这篇文章表:
id name
---------------
1 Article 1
2 Article 1
3 Article 2
和投票表:
article_id rating
--------------------
1 3
1 2
3 1
当我按名称对文章进行分组时,即使是同名文章也会对评分进行平均计算。
SELECT article.name, AVG(vote.rating) rating
FROM article
LEFT JOIN vote ON vote.article_id = article.id
GROUP BY article.name
但我希望得到最受好评的文章的平均评分。有谁知道如何做到这一点?谢谢你的任何建议。
编辑: 我想得到这个结果:
name average_rating
--------------------------
Article 1 2.5
Article 2 1
答案 0 :(得分:0)
您是否尝试过使用article_id进行分组?
答案 1 :(得分:0)
您应该按照文章ID进行分组,因为它对每一个都是唯一的
SELECT article.name, AVG(vote.rating) rating
FROM article
LEFT JOIN vote ON vote.article_id = article.id
GROUP BY article.id