2011-12-17 67 views

回答

1

使用ORDERLIMIT拿到2次最后的尝试和AVG aggregation function

SELECT AVG(grade) AS average FROM (
    SELECT grade FROM table 
    WHERE userid = 3 
    ORDER BY attempt DESC LIMIT 2) AS t 
+0

嗨尼克rulez,您的查询提供了一个错误“#1054 - 未知列‘平均’在‘字段列表’可能是什么错误 – user1067018 2011-12-17 09:58:33

+0

Sorr年。错字。纠正。 – 2011-12-17 13:42:56

0

如果要单独列出两个测试结果,平均每行中,那么这样的事情,也许(否则你只需要在子查询频率最高的测试)。

SELECT userid, attempt, grade, 

(SELECT AVG(grade) 
    FROM table 
     ORDER BY attempt DESC LIMIT 0, 2) AS avg_grade 

FROM table 
ORDER BY attempt DESC LIMIT 0, 2;