0

我有一张表,我想计算一列的平均值,但只计算最后 10 行。

SELECT AVG(columnName) as avg FROM tableName

我不能直接应用 top 因为这个查询只返回一行。我需要一种方法来获取最新的 10 行并对它们进行平均。

4

2 回答 2

5

尝试这个:

SELECT AVG(columnName) FROM
(SELECT TOP 10 columnName FROM tableName ORDER BY ColumnWhichHoldsOrder DESC) A
于 2013-01-05T20:37:54.190 回答
3
select avg(columnName)
from (
   select columnName, 
          row_number() over (order by some column desc) as rn
   from tableName
) t
where rn <= 10;
于 2013-01-05T20:38:52.253 回答