MySQL子查询与另一个表的平均值

时间:2015-07-29 21:35:13

标签: mysql average

我确信这已经得到了解答,但对于我的生活,我无法找到答案。

如果我有两个表(gre_words和gre_link)。 grey_words表有列(id,word,definition),gre_link表有列(word_id,难度)。

基本上,在每个问题之后,一个条目进入gre_link,其中包含单词的id和难度(如果正确则为0,如果错误则为1)。

所以我现在想要生成前5个最难的单词列表。

我想我需要一个带有嵌套语句的MySQL SELECT语句,其中包含难度列上的AVG()函数。我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题是正确的,我认为你只需要进行加入并应用avg函数并将结果限制为5个最低平均值,这可能是你想要的:

select 
    w.word, avg(l.difficulty * 1.0) average_correct
from 
    gre_words w
join 
    gre_link l on w.id = l.word_id
group by 
    w.word
order by 
    avg(l.difficulty * 1.0)
limit 5

请注意,这会排除gre_words表中gre_link表中没有任何对应行的单词。