2011-12-17 71 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;