如何将一列的运行总计添加到 Access 查询?
Posted
技术标签:
【中文标题】如何将一列的运行总计添加到 Access 查询?【英文标题】:How can I add a running total of one column to an Access query? 【发布时间】:2014-06-19 18:47:02 【问题描述】:我有一个查询,在一个字段中包含过去 12 个月内与特定产品相对应的总销售额百分比。例如:
产品 1 - 38% 产品 2 - 25% 产品 3 - 16% (...)
记录按百分比列按降序排序,总和必须为 100%。我想创建一个新列,将以前的百分比添加为运行总计,如下所示:
产品 1 - 38% - 38% 产品 2 - 25% - 63% 产品 3 - 16% - 79% (...直到它到达最后一个产品和 100% 小计)
我该怎么做?
【问题讨论】:
商品是否有ID字段?他们真的叫Product1, Product2
..?
不,它们有不同的名称。这只是一个例子。
有可以使用的ID字段吗?
【参考方案1】:
如果您有 ID
字段或日期字段,则可以使用此相关子查询的变体。
SELECT t.*,
t.productpct+[prev_value] AS RunningSum,
(select sum([ProductPct])
from test AS t2
WHERE
t2.ID < t.ID
) AS Prev_Value
FROM test AS t;
有些人在 SQL 方面比我好得多,但是如果这有助于或给你答案,那就太好了。
【讨论】:
谢谢。既然你这么说,我想我可以使用销售额作为 ID,因为它将按后代顺序排列。无论如何,我可以使用每个百分比作为 ID 字段,因为它是按后代顺序排列的吗? t、test 和 T2 是什么意思?谢谢。 test 是您的表的名称。 t 和 t2 是表别名。所以你的表名将替换test
,其他一切都可以保持不变。百分比可以准确地识别每一行,但并不总是保证百分比会不同,是吗?
如果数据不在表中而是在查询中会发生什么? prev_value 和 ProductPct 也应该保持不变?
prev_value 可以保持不变,ProductPct 是百分比的字段名称。你必须玩弄它。它可以工作。我不知道,我看不到查询。以上是关于如何将一列的运行总计添加到 Access 查询?的主要内容,如果未能解决你的问题,请参考以下文章