我确信这已经得到了解答,但对于我的生活,我无法找到答案。
如果我有两个表(gre_words和gre_link)。 grey_words表有列(id,word,definition),gre_link表有列(word_id,难度)。
基本上,在每个问题之后,一个条目进入gre_link,其中包含单词的id和难度(如果正确则为0,如果错误则为1)。
所以我现在想要生成前5个最难的单词列表。
我想我需要一个带有嵌套语句的MySQL SELECT语句,其中包含难度列上的AVG()函数。我该怎么做?
答案 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表中没有任何对应行的单词。