获取包含相似条目的字段的计数 MS Access
Get a Count of a Field Including Similar Entries MS Access
嘿,我正在尝试解析访问数据库中的所有重复项。我希望数据库可用于访问文盲,因此我正在尝试设置可以 运行 而不了解程序的查询。
我的数据库设置中偶尔会有特殊字符附加到名称字段中的条目。我有兴趣检查基于字段 field1 和名称的重复条目。如何将具有特殊字符的条目的计数与其对应的非特殊字符包括在一起?这是否可以一步完成,或者我是否需要添加一个步骤来首先清理数据?
目前我的代码(如下所示)仅 returns 计算不包含特殊字符的条目。
SELECT
table.[field1],
table.[Name],
Count(table.[Name]) AS [CountOfName]
FROM
table
GROUP BY
table.[field1],
table.[Name]
HAVING
(((table.[Name]) Like "*") AND ((Count(table.[Name]))>1));
我尝试在 Like 语句中添加一个前导 space(如“*”),但结果 returns 为零。
P.S。我也试过 Replace 语句来替换特殊字符,但是没有用。
字段 1 ##
- 1234567
- 1234567
- 4567890
- 4567890
姓名##
- 布莱恩
- 布莱恩
- 泰德
- 泰德‡
结果
字段1
1234567
名字
布莱恩
countofname
2
GROUP BY
的工作原理是将行放入值相同的组中。因此,当您 运行 查询您的数据并按 field1
和 name
分组时,您说的是 "Put these records into groups where they share a common field1 and name value"。如果您希望 4567890, ted
和 4567890, ted†
显示在同一组中,因此计数为 2,则 field1
和 name
必须相同。
如果名称末尾只有一两个可能的特殊字符,则可以使用 Replace()
或 Substring()
删除名称末尾的所有特殊字符,但请记住,您还必须 GROUP BY
您创建的新表达式;您不能 GROUP BY
原始名称字段,否则您将得不到所需的计数。您还可以创建另一列包含经过清理的名称,该名称末尾没有任何特殊字符。
我没有安装 Access,但应该可以这样:
SELECT
table.[field1],
Replace(table.[Name], "†", "") AS Name,
Count(table.[Name]) AS [CountOfName]
FROM
table
GROUP BY
table.[field1],
Replace(table.[Name], "†", "")
嘿,我正在尝试解析访问数据库中的所有重复项。我希望数据库可用于访问文盲,因此我正在尝试设置可以 运行 而不了解程序的查询。
我的数据库设置中偶尔会有特殊字符附加到名称字段中的条目。我有兴趣检查基于字段 field1 和名称的重复条目。如何将具有特殊字符的条目的计数与其对应的非特殊字符包括在一起?这是否可以一步完成,或者我是否需要添加一个步骤来首先清理数据?
目前我的代码(如下所示)仅 returns 计算不包含特殊字符的条目。
SELECT
table.[field1],
table.[Name],
Count(table.[Name]) AS [CountOfName]
FROM
table
GROUP BY
table.[field1],
table.[Name]
HAVING
(((table.[Name]) Like "*") AND ((Count(table.[Name]))>1));
我尝试在 Like 语句中添加一个前导 space(如“*”),但结果 returns 为零。
P.S。我也试过 Replace 语句来替换特殊字符,但是没有用。
字段 1 ##
- 1234567
- 1234567
- 4567890
- 4567890
姓名##
- 布莱恩
- 布莱恩
- 泰德
- 泰德‡
结果
字段1
1234567
名字 布莱恩
countofname 2
GROUP BY
的工作原理是将行放入值相同的组中。因此,当您 运行 查询您的数据并按 field1
和 name
分组时,您说的是 "Put these records into groups where they share a common field1 and name value"。如果您希望 4567890, ted
和 4567890, ted†
显示在同一组中,因此计数为 2,则 field1
和 name
必须相同。
如果名称末尾只有一两个可能的特殊字符,则可以使用 Replace()
或 Substring()
删除名称末尾的所有特殊字符,但请记住,您还必须 GROUP BY
您创建的新表达式;您不能 GROUP BY
原始名称字段,否则您将得不到所需的计数。您还可以创建另一列包含经过清理的名称,该名称末尾没有任何特殊字符。
我没有安装 Access,但应该可以这样:
SELECT
table.[field1],
Replace(table.[Name], "†", "") AS Name,
Count(table.[Name]) AS [CountOfName]
FROM
table
GROUP BY
table.[field1],
Replace(table.[Name], "†", "")