MS Access:如何计算重复行?

问题描述 投票:0回答:2

我的桌子是这样的...

PersonID    Data1    Data2
1           XXXX     YYYY
1           BBBB     YYYY
2           BBBB     YYYY
3           XXXX     YYYY

我希望它看起来像这样......

PersonID    SubRank    Data1    Data2
1           1          XXXX     YYYY
1           2          BBBB     YYYY
2           1          BBBB     YYYY
3           1          XXXX     YYYY

我想出的最接近的解决方案看起来像这样......(ID是数据库访问唯一ID)

SELECT TABLE.PersonID, DCount("ID","Table","(PersonID='"&[PersonID]&"')",) AS SubRank, Table.Data1, Table.Data2
FROM Table
ORDER BY Table.PersonID;

但这仅返回唯一行的总值(即,PersonID #1 的 Subrank 两次都是“2”)。最终,此查询将提供交叉表查询,以将单个 personID 的所有数据获取到一行中。

我从这里获取了上面的解决方案:http://www.ozgrid.com/forum/showthread.php?t=39231&page=1

我想实现同样的目标,但是,他们的代码不起作用。

谢谢!

sql ms-access
2个回答
0
投票

您需要缩小范围。你可以在解决方案中看到他有

and 
(Date <= #" & [Date] & "#)")

在 dcount 函数内部。所以你也需要做类似的事情——尽管我想你会使用 ID 而不是日期。也许是这样的:

DCount("ID","Table","(PersonID='"&[PersonID]&"') and (PersonID <= " & [PersonID] & ")" )

0
投票

你的目标有点模糊。您想查找重复项的数量吗?您想取消重复吗?为什么不这样做:

从表组中选择计数(*),Data1,Data2 BY Data1,Data2

© www.soinside.com 2019 - 2024. All rights reserved.