Sqlite3:找到10个不同人的平均得分

时间:2014-01-23 06:07:14

标签: sqlite

我有两张桌子。一个人有一个id和一个分数。另一个有列:id,name。第二个表中的id与第一个表中的id匹配。一个名字可能有几个ID。我想找到平均得分最高的n个(不同)名字。

我可以找到10个不同的名字,我可以找到平均分数。但是,我没有看到如何结合2。

从t1,t2选择id,id2,avg(得分)为avg_score,其中t1.id = t2.id2按名称顺序分组,由movies.score desc limit 10;

但我很确定这是错的。

1 个答案:

答案 0 :(得分:0)

SELECT foo.name AS name, AVG(bar.score) AS avgscore
FROM foo
  JOIN bar ON foo.id=bar.id
GROUP BY name
ORDER BY avgscore DESC
LIMIT 10

您遗漏的主要内容是实际平均任何事情的AVG聚合函数。此外,您希望按名称分组(这样可确保每个名称只能获得一行,并使AVG平均每个名称的分数),此处HAVING没有用。