对行的子集应用聚合函数

use*_*073 0 sql sql-server average aggregate-functions

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

SELECT AVG(columnName) as avg FROM tableName
Run Code Online (Sandbox Code Playgroud)

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

Ham*_*yan 5

尝试这个:

SELECT AVG(columnName) FROM
(SELECT TOP 10 columnName FROM tableName ORDER BY ColumnWhichHoldsOrder DESC) A
Run Code Online (Sandbox Code Playgroud)