2012-11-19 81 views
3

是否有可能SUMAVG前10名的結果?我有一個數千個值的列表。我想知道前10個值的平均值。我嘗試這樣做:如何使用LIMIT使用聚合函數?

SELECT AVG(some_val) 
FROM table 
ORDER BY some_val DESC 
LIMIT 10; 

但是這給了我值的整個列表的平均值從表中,而不僅僅是前10

我使用MySQL。我想把它寫成一個SQL語句。

回答

3

您需要選擇前10行第一個,然後對它們進行平均。否則,您將選擇所有行的平均值,然後返回10個結果(因爲LIMIT最後適用)。正如您可能發現的那樣,您只返回一行(平均值),LIMIT不起作用。