如何修改查询以对前n条记录求和

时间:2019-09-16 21:00:42

标签: sql ms-access

我在MS Access中有以下查询:

SELECT Sum(FS) AS FS_sum, Sum(FSOF) AS FSOF_sum
FROM tbl_G_elomkv_atp AS tt
WHERE tt.ID_A = 19

我现在想进一步细化,并根据表PK_G中的自动编号PK只汇总最近15条记录。

仅添加“前15名”和“排序依据”给我一个“域汇总”错误,因此我将代码修改为:

SELECT TOP 15 Sum(FS) AS FS_sum, Sum(FSOF) AS FSOF_sum
FROM tbl_G_elomkv_atp as tt
WHERE tt.ID_A = 19
GROUP BY tt.PK_G
ORDER BY tt.PK_G DESC

但是,这将为15条记录中的每条记录提供一行。如何返回具有两个和值FS_sumFSOF_sum的一行?

1 个答案:

答案 0 :(得分:1)

使用子查询:

SELECT Sum(FS) AS FS_sum, Sum(FSOF) AS FSOF_sum
FROM (SELECT TOP 15 tt.*
      FROM tbl_G_elomkv_atp AS tt
      WHERE tt.ID_A = 19
      ORDER BY tt.PK_G DESC
     ) as tt
相关问题