我有一张表,我想计算一列的平均值,但只计算最后 10 行。
SELECT AVG(columnName) as avg FROM tableName
我不能直接应用 top 因为这个查询只返回一行。我需要一种方法来获取最新的 10 行并对它们进行平均。
我有一张表,我想计算一列的平均值,但只计算最后 10 行。
SELECT AVG(columnName) as avg FROM tableName
我不能直接应用 top 因为这个查询只返回一行。我需要一种方法来获取最新的 10 行并对它们进行平均。
尝试这个:
SELECT AVG(columnName) FROM
(SELECT TOP 10 columnName FROM tableName ORDER BY ColumnWhichHoldsOrder DESC) A
select avg(columnName)
from (
select columnName,
row_number() over (order by some column desc) as rn
from tableName
) t
where rn <= 10;