Sql MS Access:如何按第一列分组-对某些列求和,同时保持其他列不变
我有如下数据:Sql MS Access:如何按第一列分组-对某些列求和,同时保持其他列不变,sql,ms-access,ms-access-2007,ms-access-2010,Sql,Ms Access,Ms Access 2007,Ms Access 2010,我有如下数据: ID | Year | State | Cost ----+-----------+-----------+----------- 1 | 2012 | CA | 10 2 | 2009 | FL | 90 3 | 2005 | MA | 50 2 | 2009 | FL | 75 1 | 2012 | CA
ID | Year | State | Cost
----+-----------+-----------+-----------
1 | 2012 | CA | 10
2 | 2009 | FL | 90
3 | 2005 | MA | 50
2 | 2009 | FL | 75
1 | 2012 | CA | 110
我需要它看起来像:
ID | Year | State | Cost
----+-----------+-----------+-----------
1 | 2012 | CA | 120
2 | 2009 | FL | 165
3 | 2005 | MA | 50
因此,我需要年份保持不变,州保持不变,但每个ID的成本要加起来
我知道如何做总结,但我不知道如何使年份和状态保持不变 使用
分组依据
或总计
查询。大概
SELECT
ID,
[Year],
State,
Sum(Cost) As TotalCost
FROM
yourTable
GROUP BY
ID,
[Year],
State;
groupby
子句根据公共信息对记录进行分组。Sum
将指定的列相加,为您提供正确的信息 Paul,你忘了Group By
@PaulFrancis如果我有60列,其中一半我想求和,一半我想不去管。我必须这样把每一个都写出来吗?还是有更快的办法?另外,为什么只有一些列名周围才有方括号呢?您可以对需要的列进行分组-是的。如果其他列未进入计算,则不应将它们添加到查询中。如果你这样做了,数据将不准确甚至不正确。然而,如果您只想显示而不想求和,这将是一个非常棘手的问题。关于方括号,Year
是Access中的关键字。因此,这样使用它会导致问题。请使用GUI设计器。拉入表格,双击表格的标题以使用所有字段,删除不需要的字段。然后按sigma符号,所有字段将更改为Group By。将字段成本和其他字段更改为总和。拯救